欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

utf8转成gbk

程序员文章站 2022-06-03 21:10:34
...
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 替你完成

相关标签: utf8转成gbk