mysql數據庫輸出亂碼的原因及解決方法
原因
mysql數據庫輸出亂碼是因為數據庫默認采用的編碼格式為latin1,而如果程序編碼格式與數據庫編碼不一致,就會導致亂碼的出現。
解決方法
改變mysql數據庫的編碼格式為utf8??梢酝ㄟ^以下兩種方法實現:
1. 修改my.cnf配置文件。
在my.cnf文件中添加以下內容:
[client]
default-character-set = utf8
[mysqld]
init_connect='SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_general_ci
重啟mysql服務器,即可生效并解決輸出亂碼的問題。
2. 使用SQL腳本修改編碼格式。
打開mysql客戶端,依次輸入以下命令:
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
分別替換dbname和tablename為實際的數據庫名和表名,執行完畢即可。