怎么解決mysql插入數(shù)據(jù)亂碼
怎么解決mysql插入數(shù)據(jù)亂碼
在mysql插入數(shù)據(jù)后顯示亂碼的解決方法:
使用語句 show variables like 'character%'; 來查看當(dāng)前數(shù)據(jù)庫的相關(guān)編碼集:
可以看到 mysql 有六處使用了字符集,分別為:client 、connection、database、results、server 、system。
其中與服務(wù)器端相關(guān):database、server、system(永遠無法修改,就是utf-8);
與客戶端相關(guān):connection、client、results 。
保證每一項的編碼統(tǒng)一就不會產(chǎn)生亂碼,當(dāng)然支持中文的話也可以改成gbk,gb2312,utf-8等,建議是utf-8。在mysql中默認字符集是latin1,他是不支持中文的
與客戶端相關(guān):connection、client、results 。字符集可以通過set names utf8; 或者 set names gbk;進行修改數(shù)據(jù)庫的編碼集。
設(shè)置完成后即可解決客戶端插入數(shù)據(jù)或顯示數(shù)據(jù)的亂碼問題了。
上述方法只可以在當(dāng)前窗口有效,若要設(shè)置一直有效可以使用下面的方法解決;
在 mysql 的安裝目錄下有一個 my.ini 配置文件(linux下是/etc/my.cnf),通過修改這個配置文件可以一勞永逸的解決亂碼問題。
在這個配置文件中 [mysql] 與客戶端配置相關(guān),[mysqld] 與服務(wù)器配置相關(guān)。默認配置如下:
[mysql] default-character-set=utf8 [mysqld] character-set-server=utf8
相關(guān)文章
- SQL SELECT 語句
- SQL SELECT DISTINCT 語句
- SQL WHERE 子句
- SQL DELETE 語句
- SQL SELECT TOP, LIMIT, ROWNUM 子句
- SQL LIKE 操作符
- SQL JOIN 關(guān)鍵字
- SQL RIGHT JOIN 關(guān)鍵字
- SQL FULL OUTER JOIN 關(guān)鍵字
- SQL SELECT INTO 語句
- SQL CREATE DATABASE 語句
- SQL CREATE TABLE 語句
- SQL 約束(Constraints)
- SQL NOT NULL 約束
- SQL UNIQUE 約束
- SQL PRIMARY KEY 約束
- SQL FOREIGN KEY 約束
- SQL CHECK 約束
- SQL AUTO INCREMENT 字段
- SQL HAVING 子句