Mysql在debian系統(tǒng)中不能插入中文的終極解決方案
在debian環(huán)境下,徹底解決mysql無法插入和顯示中文的問題
Linux下Mysql插入中文顯示亂碼解決方案
mysql -uroot -p 回車輸入密碼
進(jìn)入mysql查看狀態(tài)如下:

默認(rèn)的是客戶端和服務(wù)器都用了latin1,所以會亂碼。
解決方案:
mysql>user mydb;
mysql>alter database mydb character set utf8;!
上文提到了用臨時方法更改數(shù)據(jù)庫的字符集設(shè)置,顯示中文,但是后來發(fā)現(xiàn)在有的系統(tǒng)下并不能成功。
比如我用的debian 7.0,找了好久終于找到一個適合debian系統(tǒng)的解決方案,debian 7.0下測試成功,其他諸如修改client和mysql加入default-character-set=utf8的方法之類的,只適用與5.5以前的系統(tǒng)!
終極決絕方案,一勞永逸:
debian下mysql的字符串修改為utf8(參考:rainysia的專欄)
一、進(jìn)入mysql(mysql -uroot -p),查看當(dāng)前數(shù)據(jù)庫字符集(status;)
二、查看當(dāng)前系統(tǒng)版本(lsb_release -a)

三、#vim /etc/mysql/my.cnf 。(5.5以前系統(tǒng))在【client】下面加入 default-character-set=utf8
在【mysqld】下面加入default-character-set=utf8
Notice:注意 如果修改后不能啟動報(bào)錯試試把default-character-set=utf8改為character_set_server=utf8,僅僅加入到mysqld下面的.client就不需要加了
四、#vim /etc/mysql/my.cnf 。(5.5以后系統(tǒng))如下修改:
[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)
六、修成成功,進(jìn)入mysql查看字符集(mysql>show variables like ‘character_set_%';)

Mysql無法插入中文
相關(guān)文章
MySQL優(yōu)化總結(jié)-查詢總條數(shù)
這篇文章主要介紹了MySQL優(yōu)化總結(jié)-查詢總條數(shù)的相關(guān)內(nèi)容,文中進(jìn)行簡單的測試對比,具有一定參考價值,需要的朋友可以了解下。2017-10-10
EF(EntityFramework) 插入或更新數(shù)據(jù)報(bào)錯的解決方法
出現(xiàn)EF(EntityFramework) 插入或更新數(shù)據(jù)報(bào)錯的問題怎么解決呢?下面小編就為大家分析一下錯誤原因及解決方法。一起跟隨小編過來看看吧2017-12-12
mysql索引過長Specialed key was too long的解決方法
在創(chuàng)建要給表的時候遇到一個有意思的問題,提示Specified key was too long; max key length is 767 bytes,本文就來介紹一下解決方法,如果你也遇到此類問題,可以參考一下2021-11-11
從這個基本語法可以看出,最簡單的SELECT語句是SELECT select_list,實(shí)際上利用這個最簡單的SELECT語句,你也可以完成許多你期待的功能,首先你能利用它進(jìn)行MySQL所支持的任何運(yùn)算,例如:SELECT 1+1,它將返回2;其次,你也能利用它給變量賦值,而在PHP中,運(yùn)用SELECT語句的這種功能,你就可以自由地運(yùn)用MySQL的函數(shù)為PHP程序進(jìn)行各種運(yùn)算,并賦值給變量。在很多的時候,你會發(fā)現(xiàn)MySQL擁有許多比PHP更為功能強(qiáng)大的函數(shù)。2008-04-04

