对MySQL数据库的编码问题的一些解释
来源:互联网 发布:淘宝售假次数清零吗 编辑:程序博客网 时间:2024/06/05 20:20
今天做PHP代码审计时,突然想到了MySQL数据库的编码问题,于是在网上查了些资料,然后就有了下面的内容。
/* MySQL编码问题 */
show variables like 'character%'; #显示与字符集相关的变量的值.
character_set_connection: MySQL服务器接收到数据时,将其转换成哪种编码.
character_set_results: MySQL服务器响应给客户端的数据采用哪种编码.
character_set_system: 元数据采用的编码(表名, 列名等).
character_set_server: MySQL服务器默认的数据编码方式.
character_set_database: MySQL数据库默认的数据编码方式.
character_set_table: MySQL数据库中表的默认数据编码方式.
character_set_column: MySQL数据库中表的列(字段)默认的数据编码方式.
表的编码方式可覆盖数据库的编码方式,列(字段)的编码方式可覆盖表的编码方式.
set names 'utf8' 只影响character_set_client/connection/results这三者的值.
MySQL配置文件中的"character-set-server=utf8"只影响character_set_server/database的值.
然后再把character_set_connection转换为与内部数据库相匹配的字符集,
最后执行完操作后,再把返回的结果转换为character_set_results.
/* 示例 */
例如你在windows的cmd命令行里操作数据库,
你就应该将character_set_client/results/connection的值都设置为gbk,
要不然你在查询数据库中的中文时cmd命令行就显示乱码,但英文不影响.
0 0
- 对MySQL数据库的编码问题的一些解释
- MySql 中的数据库的操作还有一些编码问题
- 关于数据库编码的一些问题
- java数据库的一些编码问题
- 配置mysql数据库的编码问题
- 关于mysql数据库的utf8编码问题
- (Linux)mysql设置数据库编码为utf-8方法以及遇到的一些问题
- 编码的一些问题
- 编码的一些问题
- mysql的安装、C++访问mysql数据库、编码设置问题
- mysql的安装、C++访问mysql数据库、编码设置问题
- mysql的安装、C++访问mysql数据库、编码设置问题
- java与数据库编码问题的一些总结
- 对flex解释json的一些抱怨
- [Android] 对android:layout_weight的一些解释
- 对php代码优化的一些解释
- [Android] 对android:layout_weight的一些解释
- 对TimeQuest一些术语的解释
- Java线程池使用说明
- MyEclipse 编码及控制台输出的乱码问题
- lua函数
- 4.获取元素子节点和文本节点
- C++知识点
- 对MySQL数据库的编码问题的一些解释
- 带有导航点的ViewPager
- 【Prison Break】第八天(4.4)
- |poj 2749|2-SAT|二分|Building roads
- 2017年ZJUT校赛-Problem E:竹之书——快速乘法
- Java多线程干货系列—(一)Java多线程基础
- 手记
- QT代码对齐快捷键!
- Java多线程干货系列—(二)synchronized