mysql数据表中文乱码解决办法

时间:2022-10-02 23:30:56
在往 mysql 数据库中插入数据的时候出现数据 ( 汉字 ) 乱码情况:
在把数据库,数据表的编码改为UTF-8后,还是乱码。

mysql数据表中文乱码解决办法

Mysql的默认编码方式是Latin1,不支持中文,因此,如果要让mysql支持中文的话需要把数据库默认的编码修改为gbk或者utf8

1.查看数据库的编码方式

mysql>show variables like 'character%';

mysql数据表中文乱码解决办法

   上面的各种字符设置必须一致,只是简单的对数据库、数据表设置编码格式不能完全解决乱码问题,我是将上面的说有字符编码全设置为utf8后解决的乱码问题。

对上面的信息加以说明:

  | character_set_client:客户端请求数据的字符集(编码方式)

  | character_set_connection:从客户端接收到数据,再传输的字符集(建立连接使用的编码)

  | character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使用 character_set_server 指定的字符集,

                            这个变量建议由系统自己管理,不要人为定义。

  | character_set_results:结果集的字符集

  | character_set_server:数据库服务器的默认字符集

  | character_set_system:这个值总是utf8,不需要设置,是存储系统元数据的字符集


上述变量的值不一致或者显示乱码时,可以通过如下命令来修改:

mysql> SET character_set_client = utf8; 
mysql> SET character_set_results = utf8;  
mysql> SET character_set_connection = utf8;

参考:http://blog.csdn.net/frinder/article/details/7041723

2、找到MySQL5.0安装目录下编辑打开my.ini文件,修改为:

[client]

port=3306
default-character-set=utf8

[mysql]

default-character-set=utf8

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8

3、重新启动数据库。