utf8转成gbk

WBOY
WBOYOriginal
2016-06-23 14:18:292319browse

utf8转成gbk

使用set names 字符集
Character_set_client
character_set_result
character_set_connection 这三项在cmd黑窗口中设置为set names gbk;时 那数据文件层与系统管理层是utf8 在cmd窗口查询的时候 数据从文件中取出经过数据管理层 然后到达character_set_result这里 在这一过程中应该会有编码转换问题不 要从 utf8转成gbk不?那如果这一转换应该会有乱码才对

回复讨论(解决方案)

需要,而且你的文件编码也应该是gbk

如果你什么cmd直接连接mysql client操作的话,不需要,mysql自动转换的

如果你实在cmd下执行php的话,输出时根据php文件编码决定的。

从数据库到php是一次IO,从php echo到cmd也是一次IO,要注意两次IO前后的编码变化

你说cmd,应该是windows吧,windows的cmd默认是跟随系统编码的,如简体中文的windows其cmd默认是cp936(相当于gbk)编码,此编码可以通过注册表做永久改变,或使用"chcp xxx"命令临时改变,其中xxx是编码号,936相当于gbk,65001相当于utf-8

在cmd最开始输入chcp 65001回车,cmd的窗口就变成相当于utf-8编码输出了

注:cpxxx是微软定的编码,和对应的通用编码有很轻微的不同,一般使用时不涉及这些差异的内容,所以上面所说都是“相当于”

楼上的学习了  默默收藏

只要你的数据字段的连接校对是中文系列的(gbk、big5、utf8、ucs-2、utf-16....)
那么你在使用时只需 set names 字符集,以后就可按你需要的字符集进行操作
编码转换的工作由 mysql 替你完成

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn