mysql数据库输出乱码的原因及解决方法
原因
mysql数据库输出乱码是因为数据库默认采用的编码格式为latin1,而如果程序编码格式与数据库编码不一致,就会导致乱码的出现。
解决方法
改变mysql数据库的编码格式为utf8。可以通过以下两种方法实现:
1. 修改my.cnf配置文件。
在my.cnf文件中添加以下内容:
[client]
default-character-set = utf8
[mysqld]
init_connect='SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_general_ci
重启mysql服务器,即可生效并解决输出乱码的问题。
2. 使用SQL脚本修改编码格式。
打开mysql客户端,依次输入以下命令:
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
分别替换dbname和tablename为实际的数据库名和表名,执行完毕即可。