如何解决mysql 查询中文乱码问题

文 / @WordPress主题

一:设置mysql的字符集

首先打开mysql命令行窗口,输入以下命令:

mysql> show variables like 'character%';

可以查看mysql的字符集设置是否正确,一般都是utf8。

如果不是,可以通过以下语句修改:

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

二:设置mysql的数据表和字段字符集

如果数据库已经创建好并且插入了数据,那么直接修改mysql的字符集可能无法解决问题,要在已有的数据表和字段上进行设置。

首先查看数据表的字符集和校对规则:

mysql> show create table student;

可以看到表的字符集为latin1,此时可以通过ALTER语句修改:

mysql> alter table student convert to character set utf8;

然后查看数据表中字段的字符集:

mysql> show full columns from student;

可以看到字段name的字符集为latin1,也可以通过ALTER修改:

mysql> alter table student modify name varchar(20) character set utf8;

三:设置数据库连接字符集

如果前两种方法都没有起效,可以尝试在数据库连接时设置字符集。比如在Java中使用JDBC连接数据库,在获取连接之前可以添加如下参数:

String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
Connection conn = DriverManager.getConnection(url, "root", "password");

其中url参数中的useUnicode=true和characterEncoding=utf8表示使用utf8编码。

总结

解决mysql查询中文乱码问题的方法很多,以上方法仅是其中一种。在开发中,遇到问题要多尝试不同的解决办法,多查阅相关资料,学习不同的解决方法,才能更好地解决问题。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。