1) 只要是gb2312,gbk,utf8等支援多位元組編碼的字元集都可以儲存漢字,當然,gb2312中的漢字數量遠少於gbk,而gb2312,gbk等都可在utf8下編碼。
2)用命令show variables like 'character\_set\_%';查看當前字元集設定:
mysql> show variables like 'character\_set\_%';
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | gb2312 |
| character_set_connection | gb2312 |
| character_set_database | gb2312 |
| character_set_filesystem | binary |
| character_set_results | gb2312 |
| character_set_server | latin1 |
| character_set_system | utf8 |
+--------------------------+--------+
7 rows in set (0.02 sec)
(我這裡設定了的字元是gb2312)
顯示中文亂碼主要有兩個設定:character_set_connection 和character_set_results ,
如果你的這兩個設定不支援中文編碼,就會出現亂碼,只要:set character_set_results =gbk;就設定中文編碼了。
3).set names charset_name;還可以一次性設定用戶端的所有字元集.
在.NET中與mysql資料庫的時候我也碰到顯示不了中文字元的情況實現!
我的解決方案是在串連字元加上一個字元集CharSet=utf8;
<appSettings>
<add key="Conn" value="Server=127.0.0.1;userid=root;password=test;Database=game;Port=3306;CharSet=utf8;"/>
</appSettings>
在PYthon中如果使用utf8編碼的話
在建立資料的時候一定要加上default character set utf8 collate utf8_general_ci
不然輸入中文的時候會出現:Data too long for column這樣的提示資訊!
create database test default character set utf8 collate utf8_general_ci
mysql授權遠程主機:
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.3的主機串連到mysql伺服器,並使用mypassword作為密碼:
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY 'mypassword' WITH GRANT OPTION;