MySQL会出现中文乱码的原因在于
1.server本身设定问题,一般来说是latin1
2.建库建表时没有制定编码格式。
解决方法:
1.建库的时候
1 CREATE DATABASE test 2 CHARACTER SET 'utf8' 3 COLLATE 'utf8_general_ci';
2.建表的时候
1 CREATE TABLE content ( 2 text VARCHAR(100) 3 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
基本就不会出问题了,即建库和建表时都使用相同的编码格式。
1.查看默认编码格式:
show variables like "%char%";
以下是修改后的
mysql> show variables like "%char%"; +--------------------------+---------------------------------------------------------+ | 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 | /usr/local/mysql-5.7.13-osx10.11-x86_64/share/charsets/ | +--------------------------+---------------------------------------------------------+ 8 rows in set (0.01 sec)
2.查看test数据库的编码格式:
本文详细解析了MySQL出现中文乱码的原因,并提供了有效的解决方案,包括在创建数据库和表格时指定正确的字符集,以及如何调整现有数据库的编码设置。

被折叠的 条评论
为什么被折叠?



