MySQL无法显示中文字符(mysql不能显示中文)
MySQL无法显示中文字符是一个比较常见的问题,但也有很多通常解决办法。本文假设使用MySQL 8.0已经将MySQL服务器安装完毕。第一步,运行以下SQL语句,将`character_set_server`以及`collation_server` 设置成 `utf8mb4`,可以支持4字节的utf-8 unicode字符:
ALTER DATABASE my_db
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
接下来,为了能够显示中文字符,我们需要使用如下SQL语句将客户端连接属性也设置成`utf8mb4`:
SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
注意,以上两条SQL语句都需要在每次新的客户端连接建立之后,刚开始的时候准确的运行,以便正确的处理客户端的中文输入和输出。
最后,MySQL数据库也需要以正确的字符编码创建,以免出现多余或不正确的中文字符。这需要在数据库建立的时候,运行以下SQL语句:
CREATE DATABASE my_db
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
``` 同样,如果数据库已经被创建,此时也可以运行上面提到的第一步,向MySQL服务器提交`ALTER`数据库字符编码的请求。
以上几个步骤,可以使MySQL服务器正确的显示中文字符。但有时候,还可能需要检查其他问题,例如查看字符集客户端Appilication匹配情况,传输中使用的字符集是否与MySQL使用的字符集一致等。总而言之,要让MySQL正确显示中文字符,就必须进行全面的检查,才能找出可能存在的问题。