MySQL 编码机制

2016-02-19 10:24 6 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的MySQL 编码机制,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

character_set_client ,这是用户告诉MySQL查询是用的什么字符集。
character_set_connection ,MySQL接受到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集。
character_set_results , MySQL将存储的数据转换成character_set_results中设定的字符集发送给用户。
DISCUZ并没有使用set NAMES character
SET NAMES 'x'语句与这三个语句等价:
mysql SET character_set_client = x; mysql SET character_set_results = x; mysql SET character_set_connection = x;
而DISCUZ里面是
代码如下:

@mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this-link);

SET character_set_client = binary;使用二进制字符集查询
此三处的字符设定很大程度上会解决乱码问题,那么着三个设定具体有什么作用呢?
character_set_client指定的是Sql语句的编码,如果设置为 binary,mysql就当二进制来处理,character_set_connection指定了mysql 用来运行sql语句的时候使用的编码,也就是说,程序发送给MySQL 的SQL语句,会首先被MySQL从character_set_client指定的编码转换到character_set_connection指定的编码,如果character_set_clien指定的是binary,则MySQL就会把SQL语句按照character_set_connection指定的编码解释执行.
当执行SQL语句的过程中,比如向数据库中插入字段的时候,字段也有编码设置,如果字段的编码设置和character_set_connection指定的不同,则MySQL 会把插入的数据转换成字段设定的编码。SQL语句中的条件判断和SQL插入语句的执行过程类似.
当SQL执行完毕像客户端返回数据的时候,会把数据从字段指定的编码转换为character_set_results指定的编码,如果character_set_results=NULL 则不做任何转换动作,(注意这里设置为NULL不等于没有设置,没有设置的时候MySQL会继承全局设置),
工作中比较有用的就是利用MySQL进行转码、不同编码的数据库之间共用数据。

来源:http://www.tulaoshi.com/n/20160219/1594521.html

延伸阅读
标签: Web开发
要解决的问题: 将下面的URL作为一个参数传到其他的页面  1 http://domain/de.apx?uid=12&page=15  2 url后面的参数中出现汉字等,如: ....aspx?title=起重机 在出现上面的情况的时候,必须经过一个RUL编码和解码的过程,否则会出现错误. 代码如下:  1//传值  2string temp = " a...
开始编码之前 在 Visual Basic 中创建应用程序的最重要的(又往往为人忽视的)部分是设计阶段。需要为应用程序设计一个用户界面,这是显然的;但需要设计代码的结构就不那么显然了。构造应用程序的方法不同,可造成应用程序的性能及代码的可维护性、可使用性不同。 Visual Basic 应用程序的代码是用分层方式组织的。典型应用程...
标签: Web开发
XML 文档中可以包含外语字母,如挪威语 ??? 或法语 êèé。要让你的XML分解器理解这些字母,就应该把XML文档存储成Unicode(统一的字符编码标准)。          bWindows 95/98 记事本       Windows 95/98 记事本不能将文件保存成Unicode 格式。你可以用Notepad 编辑和保存包含外语...
URL编码      作者:      Chandrasekhar Vuppalapati    翻译:eastvc 下载源代码                本文的目的是设计一个完成URL编码的C++类。在我曾经的项目中,我需要从VC++ 6.0应用程序中POST数据,而这些数据需要进行URL编码。我在MSDN中查找能...
标签: PHP
1. 介绍 1.1. 标准化的重要** 标准化问题在某些方面上让每个人头痛,让人人都觉得大家处于同样的境地。这有助于让这些建议在许多的项目中不断演进,许多公司花费了许多星期逐子字逐句的进行争论。标准化不是特殊的个人风格,它对本地改良是完全开放的。 1.2. 优点 当一个项目尝试着遵守公用的标准时,会有以下好处: 程序...

经验教程

158

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部