首页  >  文章  >  后端开发  >  php 编码转换分析

php 编码转换分析

怪我咯
怪我咯原创
2017-07-11 16:55:331509浏览

php输出的字符串编码和header头信息声明的编码不一致时输出乱码。

PHP程序开发中,编码问题一定困扰了不少人,比如:当我们需要输出GBK编码的字符串时,但不知道传过来的字符串是GBK编码还是UTF8编码,因此无法转换编码,这时我们需要一个能统一编码的函数

使用PHP连接MS SQL Server数据库,查看了一下数据库的编码

SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

返回为936,即GBK编码。

936 简体中文GBK
950 繁体中文BIG5
437 美国/加拿大英语
932 日文
949 韩文
866 俄文
65001 unicode UFT-8

如果字段有中文,PHP文件设置编码为GBK2312,则取数据库信息时没有问题:

print_r($rs["客户编码"]);

如果PHP文件设置编码为utf-8,则会报告错误。

如果非要把php文件的编码设置为utf-8,则需要转换一下编码:

print_r($rs[mb_convert_encoding("客户编码","GBK","UTF-8")]);//打印记录数组

这样就没有问题了。

以上是php 编码转换分析的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn