首页 >后端开发 >php教程 >PHP utf-8和gb2312编码转换乱码的问题_PHP教程

PHP utf-8和gb2312编码转换乱码的问题_PHP教程

WBOY
WBOY原创
2016-07-13 10:56:041133浏览

经过一时间的 php + mssql,感觉 mssql 对编码的支持不是很好(其实还是自己没有把握好啦),但是又还没有来得急换数据库,只能将就点,今天又在提交数据时出现了错误。

经过一时间的 php + mssql,感觉 mssql 对编码的支持不是很好(其实还是自己没有把握好啦),但是又还没有来得急换数据库,只能将就点,今天又在提交数据时出现了错误。

由于提交的 ntext 字段的内容比较多,大约有 220 KB,所以造成了我的误解,以为是文章太长而引起的错误。我一看 php 配置,发现  php 对 mssql.textsize 的支持已经在 400 K了,怎么还出错?开启错误后才发现,原来不是文章太长,而是编码引起的错误。错误如下:

 代码如下 复制代码
Notice: iconv() [function.iconv]: Detected an illegal character in input string in...。

 英文实在太烂,只是知道 iconv() 函数出问题。google 翻译,说是输入字符串中检测到非法字符。恍然大悟。

根据错误提示到网上找到问题的解决办法,就是在 iconv() 的第二个参数加个 //IGNORE ,就是忽略错误的意思。代码如下:

 代码如下 复制代码
iconv("utf-8", "gbk//IGNORE", $str);

测试,提交成功。

注:网友经验,gbk 的范围比 gb2313 大,所以用 gbk 编码的出错率比 gb2313 小。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632194.htmlTechArticle经过一时间的 php + mssql,感觉 mssql 对编码的支持不是很好(其实还是自己没有把握好啦),但是又还没有来得急换数据库,只能将就点,今...
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn