徹底解決mysql中文亂碼的辦法

2021-07-10 16:03:47 字數 1884 閱讀 8832

2013/9/24 18:06:44

(0)

mysql會出現中文亂碼的原因不外乎下列幾點:

1.server本身設定問題,例如還停留在latin1

2.table的語系設定問題(包含character與collation)

3.客戶端程式(例如php)的連線語系設定問題

強烈建議使用utf8!!!!

utf8可以相容世界上所有字元!!!!

linux下mysql插入中文顯示亂碼解決方案

mysql -uroot -p 回車輸入密碼

進入mysql檢視狀態如下:

mysql不能插入中文

預設的是客戶端和伺服器都用了latin1,所以會亂碼。

解決方案:

mysql>user mydb;

mysql>alter database mydb  character set utf8;!

另一種方法是直接修改預設的mysql配置檔案

在debian環境下,徹底解決mysql無法插入中文和中文亂碼的辦法

上面提到了用臨時方法更改資料庫的字符集設定,顯示中文,但是後來發現在有的系統下並不能成功,比如我用的debian 7.0,找了好久終於找到乙個適合debian系統的解決方案,debian 7.0下測試成功,其他諸如修改client和mysql加入default-character-set=utf8的方法之類的,只適用與5.5以前的系統!

終極決絕方案,一勞永逸:

debian下mysql的字串修改為utf8(參考:rainysia的專欄)

一、進入mysql(mysql -uroot -p),檢視當前資料庫字符集(status;)

二、檢視當前系統版本(lsb_release -a)

mysql不能插入中文

三、#vim /etc/mysql/my.cnf 。(5.5以前系統

)在【client】下面加入 default-character-set=utf8

在【mysqld】下面加入default-character-set=utf8

notice:注意 如果修改後不能啟動報錯試試把default-character-set=utf8改為character_set_server=utf8,僅僅加入到mysqld下面的.client就不需要加了

四、#vim /etc/mysql/my.cnf 。(5.5以後系統)如下修改:

[client]

default-character-set=utf8

[mysqld]

default-storage-engine=innodb

character-set-server=utf8

collation-server=utf8_general_ci

五、重啟mysql(/etc/init.d/mysql stop   /etc/init.d/mysql  start)

六、修成成功,進入mysql檢視字符集(mysql>show variables like 『character_set_%』;)

mysql無法插入中文

徹底解決mysql中文亂碼

檢視資料庫編碼 show variables like char 修改字元編碼 set character set server utf8 set character set database utf8 show variables like char global範圍 mysql設定變數的範圍預設...

PHP徹底解決mysql中文亂碼

mysql是我們專案中非經常常使用的資料型資料庫。可是由於我們須要在資料庫儲存中文字元,所以經常遇到資料庫亂碼情況。以下就來介紹一下怎樣徹底解決資料庫中文亂碼情況。資料庫執行 show variables like char 看到字符集都是latin1 建立資料庫 create database t...

徹底解決mysql中文亂碼的辦法

mysql會出現中文亂碼的原因不外乎下列幾點 1.server本身設定問題,例如還停留在latin1 2.table的語系設定問題 包含character與collation 3.客戶端程式 例如php 的連線語系設定問題 強烈建議使用utf8 utf8可以相容世界上所有字元 linux下mysql...