- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
問題:
由于MySQL編碼原因會導致數據庫出現亂碼。
解決辦法:
修?MySQL數據庫字符編碼為UTF-8,UTF-8包含全世界所有國家需要用到的字符,是國際編碼。
具體操作:
1、進入MySQL控制臺
mysql -uroot -p #輸入密碼進入
status; #查看當前MySQL運行狀態,
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
默認客戶端和服務器端都用了latin1編碼,所以會出現亂碼。
2、修改mysql配置文件
vi /etc/my.cnf
#在[client]段增加下面代碼
default-character-set=utf8
#在[mysqld]段增加下面的代碼
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
:wq! #保存退出
3、service mysqld restart #重啟MySQL
再次進入MySQL控制臺查看,如下圖所示:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
show variables like 'character_set_%'; #查看MySQL字符集
MySQL數據庫字符集編碼修改完成!
參數說明:
character_set_client:客戶端請求數據的字符集。
character_set_connection:從客戶端接收到數據,然后傳輸的字符集。
character_set_database:
默認數據庫的字符集,無論默認數據庫如何改變,都是這個字符集;如果沒有默認數據庫,
使character_set_server指定的字符集,此參數無需設置。
character_set_filesystem:
?操作系統上文件名轉化成此字符集,即把character_set_client轉換character_set_filesystem,默認binary即可。
character_set_results:結果集的字符集。
character_set_server:數據庫服務器的默認字符集。
character_set_system:這個值總是utf8,不需要設置,存儲系統元數據的字符集。
備注:
MySQL 5.5之前的版本設置辦法:
在[client]段下添加
default-character-set=utf8
在[mysqld]段下添加
default-character-set=utf8
注意,如果修改后不能啟動報錯,把[mysqld]段下default-character-set=utf8改為character_set_server=utf8,取消[client]段的設置。
創建數據庫的命令:
Create DATABASE IF NOT EXISTS mydata default charset utf8 COLLATE utf8_general_ci;
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP