MySQL 会出现中文乱码的原因不外乎下列几点:
1.server 本身设定问题,例如还停留在 latin1
2.table 的语系设定问题(包含 character 与 collation)
3.客户端程式(例如 php)的连线语系设定问题
强烈建议使用 utf8!!!!
utf8 可以兼容世界上所有字符!!!!
一、避免创建数据库及表出现中文乱码和查看编码方法
1、创建数据库的时候:
[sql]view plaincopy
1. CREATEDATABASE`test`
2. CHARACTERSET'utf8'
3. COLLATE'utf8_general_ci';
2、建表的时候O
[sql]view plaincopy
1. CREATETABLE`database_user`(
2. `ID`varchar(40)NOTNULLdefault'',
3. `UserID`varchar(40)NOTNULLdefault'',
4. )ENGINE=InnoDBDEFAULTCHARSET=utf8;
这 3 个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。
但是如果你已经建了库和表可以通过以下方式进行查询。
1.查看默认的编码格式:
[sql]view plaincopy
1. mysql>showvariableslike"%char%";
2. +--------------------------+---------------+
3. |Variable_name|Value|
4. +--------------------------+---------------+
5. |character_set_client|gbk|
6. |character_set_connection|gbk|
7. |character_set_database|utf8|
8. |character_set_filesystem|binary|
9. |character_set_results|gbk|
10. |character_set_server|utf8|
11. |character_set_system|utf8|
12. +--------------------------+-------------+
注:以前 2 个来确定,可以使用 set names utf8,set names gbk 设置默认的
编码格式;