PHP utf-8和gb2312编码转换乱码的问题
2011-05-14 14:51
239 查看
经过一时间的 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 小。
对编码的支持不是很好(其实还是自己没有把握好啦),但是又还没有来得急换数据库,只能将就点,今天又在提交数据时出现了错误。
由于提交的 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 小。
相关文章推荐
- php+mysql的utf-8中文乱码问题的解决方法
- PHP检索网页中utf-8和gb2312编码转换的问题
- 【转】PHP乱码问题,UTF-8(乱码)
- php smarty截取中文字符乱码问题?gb2312/utf-8
- PHP乱码问题,UTF-8(乱码)
- PHP 解决utf-8和gb2312编码转换问题
- php+mysql的utf-8中文乱码问题的解决方法
- ASP中Utf-8与Gb2312编码转换乱码问题的解决方法!
- PHP乱码问题,UTF-8(乱码)
- jq的get传参数在utf-8中乱码问题的解决php版
- ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
- php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
- EditPlus注册码在线生成,删除utf-8BOM,完美解决php文件乱码问题
- PHP(UTF)截取字符串乱码问题
- php中json_encode UTF-8中文乱码问题
- php ajax 中文乱码问题解决办法(接收发送)utf-8 GBK GB2312
- PHP乱码问题,UTF-8乱码常见问题小结
- PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
- PHP乱码问题,UTF-8乱码常见问题小结 linux-windows 文件编码乱码问题