一、背景:
當數據庫、數據表都創建好後,發現:編寫代碼從數據庫提取記錄到網頁,或者由網頁向數據庫中寫數據時,出現了中文亂碼的問題。點擊參考解決辦法
這種情況是先出現問題再解決。
二、如何未雨綢繆?
事先設定好字符編碼格式。【本案例統一設置utf8編碼】
1.修改數據庫配置文件 my.ini
在[mysqld]組下添加下面的語句
character_set_server=gbk
2.創建數據庫時
create database db_name default character set utf8 collate utf8_general_ci;
*default character set utf8 :數據庫字符集。設置數據庫的默認編碼爲utf8,這裏utf8中間不要"-"。
*collate utf8_general_ci: 數據庫校對規則。
3.創建好數據庫後再次查看編碼
命令:show variables like '%character%';
mysql> show variables like '%character%';
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | G:\myenv\mysql-5.6.21\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)
如果出現非utf8編碼的Variable_name ,可使用命令set names utf8
執行 set names utf8 的效果等同於同時設定如下:
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_results=utf8;
注:字符集設置沒問題,但是在DOS窗口顯示的中文仍然亂碼,原因是:DOS默認不支持顯示UTF8的編碼字符,點擊參考解決辦法