Mysq中文l乱码问题涉及的关键参数
来源:互联网 发布:matlab中矩阵的点乘 编辑:程序博客网 时间:2024/05/29 15:13
一、涉及的参数
1、 character_set_client
这个参数的取值由连接的发起方决定,例如使用以下JDBC URL连接时:
jdbc URL = mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf8
则该取值为utf-8, 使用客户端(例如:Nivcat)连接时也有相应的指定方式。 如果未指定就使用数据库默认的值。 注意:如果jdbc url 是写在XML文件中(使用框架时写在配置文件中)需要用& 代替 & 符号 。
它负责标识连接发起方发来的数据是怎样的编码方式,所以该编码的取值务必保证与源数据的编码方式一致,一旦该值与传入数据的真实的编码方式不一致,则会出现乱码 。
2、 character_set_connection
这个参数同样由连接的发起方发来的数据决定,取值默认与character_set_client保持一致。
3、character_set_results
这个参数同样由连接的发起方发来的数据决定,取值默认与character_set_client保持一致,若发起方没有指定编码方式,则直接使用character_set_database的值。
该值是数据库发送数据给宿主程序的编码方式,如果不合适,会导致数据库内数据正常,但是程序接受到的数据乱码。
4、character_set_database
这个参数是在建立数据库时指定的值,如果未指定,则使用系统默认的值。它是一个数据库实例中每个table和字段的默认编码取值,除特殊情况外,通常会保证一个数据库中的所有字段编码方式一致。
二、 总结
1、 character_set_client、character_set_connection、character_set_results三个参数是在连接时确定的,是动态改变的,可以由连接的发起方(jdbc或者客户端)控制,也可以由Mysql的默认值决定。
2、character_set_database 是在建立数据库时指定的,它是该数据库下所有表和字段的默认取值。
- Mysq中文l乱码问题涉及的关键参数
- mysq中文l乱码解决
- python2+mysq 的中文问题
- mysq乱码问题
- 关于中文参数乱码的问题
- 获取中文参数乱码的问题
- 解决URL中文参数乱码的问题
- 解决URL中文参数乱码的问题
- (27)请求参数的中文乱码问题
- 请求参数的中文乱码问题
- 请求参数的中文乱码问题
- 请求参数的中文乱码问题
- 请求参数的中文乱码问题总结
- url传递中文参数乱码的问题
- JSP include参数的中文乱码问题
- 请求参数的中文乱码问题
- JSP include参数的中文乱码问题
- springmvc 接收参数中文乱码的问题
- BaiduMobAds_MSSP_bd_SDK_android_v3.0
- 查看当前SHELL的种类
- Node.js实践HTTP安全认证之二~~摘要认证(理论)
- 自定义EL表达式方法
- 带背景logo的弹出层模板
- Mysq中文l乱码问题涉及的关键参数
- memcpy函数的使用
- Linux下非轮询方式监控网卡连接状态
- Linux下如何清空输入缓冲区
- 宏定义中的选择判断句
- Python的第一篇博客,对于Python的认识。
- LintCode-有效回文串
- Google perftools
- 判断手机是否ROOT 代码实现+ Android 操作系统 获取Root权限 原理解析