mysql语句:SET NAMES UTF8_MySQL

php中文网
发布: 2016-06-01 13:39:17
原创
1316人浏览过

bitsCN.com
mysql语句:SET NAMES UTF8 一直以来只知道mysql_query("SET NAMES UTF8");是设定数据库编码的,但是一直不清楚“SET NAMES UTF8”是什么。 直到今天才知道 SET NAMES ...是mysql语句。 真的感觉到自己的功课还没做到家,现有知识储备比较匮乏。现将所查相关资料记下:   1、SET NAMES ‘charset_name’ SET NAMES显示客户端发送的SQL语句中使用什么字符集。因此,SET NAMES 'cp1251'语句告诉服务器将来从这个客户端传来的信息采用字符集cp1251”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集。) 2、连接字符集和校对 (1) 一些字符集和校对规则系统变量与客户端和服务器的交互有关。 · 服务器字符集和校对规则可以用作character_set_server和collation_server变量的值。 · 默认数据库的字符集和校对规则可以用作character_set_database和collation_database变量的值。 在客户端和服务器的连接处理中也涉及了字符集和校对规则变量。 每一个客户端有一个连接相关的字符集和校对规则变量。   (2)考虑什么是一个“连接”:它是连接服务器时所作的事情。 客户端发送SQL语句,例如查询,通过连接发送到服务器。 服务器通过连接发送响应给客户端,例如结果集。 对于客户端连接,这样会导致一些关于连接的字符集和 校对规则的问题,这些问题均能够通过系统变量来解决: (3) 当查询离开客户端后,在查询中使用哪种字符集? 服务器使用character_set_client变量作为客户端发送的查询中使用的字符集。 (4) 服务器接收到查询后应该转换为哪种字符集? 转换时,服务器使用character_set_connection和collation_connection系统变量。它将客户端发送的查询从character_set_client系统变量转换到character_set_connection(除非字符串文字具有象_latin1或_utf8的引介词)。collation_connection对比较文字字符串是重要的。对于列值的字符串比较,它不重要,因为列具有更高的 校对规则优先级。 (5)服务器发送结果集或返回错误信息到客户端之前应该转换为哪种字符集? character_set_results变量指示服务器返回查询结果到客户端使用的字符集。包括结果数据,例如列值和结果元数据(如列名)。   示例: mysql_query("set names 'utf8'"); //使用utf8编码; bitsCN.com

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号