很不多不注意資料庫的亂碼情況,導致字元出錯:
預設的是拉丁字符集:
在這個庫裡面建立的表也是拉丁字符集:
下面插入正常的資料:
顯示是正常的。
當插入中文的時候:必須要把客戶端設定為拉丁字符集。
另一種方法是在外面編輯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字符集配置 mysql中文亂碼
這兩天重置了下自己的電腦系統,乙個ubuntu,另外乙個當然就是windows。不過在執行程式的時候發現,出現了很多的 也就是亂碼字元。毫無疑問,這定然是mysql字符集的配置問題。找到了解決問題的方向,那麼,自然就很好辦了。我的問題是出現在ubntu上的,如果你是windows使用者,那麼直接去安...
mysql字串亂碼 解決Mysql字串亂碼
1 字符集和字元序2 3 字符集 character set 定義了字元以及字元編碼。4 5 字元序 collation 定義了字元的比較規則。6 7 mysql支援多種字符集 與 字元序。8 9 乙個字符集對應至少一種字元序 一般是1對多 10 11 兩個不同的字符集不能有相同的字元序。12 13...
mysql 匹配字元類 MySQL正則匹配字元類
我不懂mysql中匹配字元類到底怎麼理解?upper 表示任意大寫字母,同 a z 通過下面這一句得到出現過大寫字母的prod name select prod name from products where prod name regexp upper 使用 upper 則會全部輸出。同樣的道理...