Mysql数据中文乱码问题处理
2018-06-14 13:35
393 查看
MYSQL数据库中的字符集设置
在创建数据库和数据表的时候,可以选择对应字符编码方式,如utf8,gbk,gb2312等等。也可以在后面修改表的Collation配置。所以数据表的Collation配置必须能够表示表中的中文字符,这是最基本的要求。然后字符必须是使用该Collation兼容的字符集来编码的,这样才能正常显示和被mysql处理。
字符集配置变量
可以通过如下命令查看字符集变量值:show variables like 'char%'; 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 D:\HwsApacheMaster\mysql\share\charsets\ SHOW VARIABLES LIKE 'collation%'; # Variable_name, Value collation_connection, utf8_general_ci collation_database, utf8_general_ci collation_server, utf8_general_ci
这些变量的含义和作用,参见官方文档解释: Connection Character Sets and Collations。
中文乱码的基本原因:
character_set_client:客户端的字符集
character_set_results:结果字符集
character_set_connection:连接字符集
这三个系统参数的作用:
信息输入路径: client--connection--server--database (数据传送方向从左到右,server负责解释和转换)
信息输出路径: database--server--connection--results (数据传送方向从左到右,server负责转换和输出)
故这几个系统参数的值须相同,不然以不同的编码方式传送数据,若编码方式不兼容,则容易造成乱码的问题。
客户端通过如下类似命令可以修改上述三个参数的字符集值:
set names gb2312;
但是该命令无法修改character_set_server变量的值,因此需要注意是否匹配一致。
相关文章推荐
- 如何解决MYSQL数据中文乱码问题
- PHP 从数据库Mysql中读取数据生成excel(解决乱码问题,解决中文变问号问题)
- Java链接Mysql中文乱码问题处理
- PHP 从数据库Mysql中读取数据生成excel(解决乱码问题,解决中文变问号问题)
- 如何解决MYSQL数据中文乱码问题
- ado.net关于mysql数据中文乱码问题
- hibernate保存数据到mysql时的中文乱码问题!
- 【mysql乱码】解决php中向mysql插入中文数据乱码的问题
- Hibernate保存mysql数据后中文乱码问题
- 解决asp.net 用 mySql 数据库 添加数据时中文为乱码问题
- PHP表单提交数据存入mysql的中文乱码问题
- 谈乱码问题,如何解决MYSQL数据中文乱码问题
- hibernate保存数据到mysql时的中文乱码问题!
- 关于处理客户端提交中文数据乱码问题解决对策
- Mysql中问字符现实乱码和无法添加中文数据问题
- Fluent NHibernate+MySQL插入数据中文乱码问题
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 再谈乱码问题,如何解决MYSQL数据中文乱码问题
- 使用MySQL保存中文数据时,经常会遇到乱码问题的解决思路
- 中文数据写入MySql乱码问题