热搜:NVER node 开发 php

utf8转成gbk

2024-09-20 18:35:01
utf8转成gbk

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 替你完成