mysql字符集亂碼
默認的是拉丁字符集:
在這個庫裏面創建的表也是拉丁字符集:
下面插入正常的數據:
顯示是正常的。
當插入中文的時候:必須要把客戶端設置為拉丁字符集。
另一種方法是在外面編輯xpg.sql;然後用system倒入進去
mysql不亂碼的5種方法及不亂嗎根源;
set name
2.在sql文件裏面指定set name
3.在命令中使用--default-charcater-set=latin1
4.修改my.cnf
不亂碼的思想:客戶端,服務端,庫,表,程序統一
系統:系統文件,不同的系統是不一樣的。centos7的[root@ceshi ~]# vi /etc/locale.conf
客戶端:set names 就是修改客戶端字符集
服務端:修改my.cnf
庫表: create database test default character set utf8;
了解一下這2個命令:
show variables;
show global status; mysql的狀態
還有在不重啟mysql的情況下進行修改mysql參數。
修改是set global key_buffer_size=
查看是:show variables like "key_buffer%";
查看客戶端,服務端,系統的字符集;
分別是:客戶端字符集,連接字符集,數據庫字符集,返回字符集,服務端字符集,系統字符集;
執行set names到底做了什麽?
set name的結果就是修改客戶端,連接,以及返回結果字符集。
並只是臨時修改的。
mysql命令 --default-character-set=latin1和set names的結果是一樣的。
統一客戶端以及服務端的字符集
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
這樣的修改需要重啟mysql。
mysql字符集亂碼