PHP gb2312 转为utf-8 不使用iconv,这个不靠谱

晟蒷 2013-04-03 12:07:29
iconv("GB2312", "UTF-8//IGNORE",$str);
容易丢字,不稳定,如果没“//IGNORE”,出错后面就直接不显示了。
还有其他可行的方法么?
...全文
359 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
LNMP自学者 2013-04-03
  • 打赏
  • 举报
回复
php实现utf-8和gb2312编码相互转换 php不使用iconv库进行gb2312与utf-8编码转换的函数 希望以上两篇文章,可以帮助你解决当前的问题。
晟蒷 2013-04-03
  • 打赏
  • 举报
回复
引用 1 楼 LuciferStar 的回复:
试试 mb_convert_encoding
不可行。
xuzuning 2013-04-03
  • 打赏
  • 举报
回复
不可能的!整个 gb2312 都被包容在 utf-8 中,不可能出现丢字 你丢字是因为你把 gbk 字符当做 gb2312 处理了
ImN1 2013-04-03
  • 打赏
  • 举报
回复
一般情况用GBK而不要用gb2312,gb2312编码的汉字太少了 网页上用charset=gb2312,实际上浏览器还是调用GBK的,所以不要误以为gb2312就能显示大部分汉字
LuciferStar 2013-04-03
  • 打赏
  • 举报
回复
试试 mb_convert_encoding
晟蒷 2013-04-03
  • 打赏
  • 举报
回复
某某某金慧园某某地址 是bg2312编码保存在外面 当前处理的页面是utf-8的,要注意这个区别
晟蒷 2013-04-03
  • 打赏
  • 举报
回复
这样当然可以。 某某某金慧园某某地址,我这个保存在GB2312的数据库中,读取出来就出问题了。
LuciferStar 2013-04-03
  • 打赏
  • 举报
回复
引用 8 楼 crf_net 的回复:
比如在MSSQL中 “某某某金慧园某某地址”, 如果用 iconv("GB2312", "UTF-8",$str); 输出的是:“某某某金” iconv("GB2312", "UTF-8//IGNORE",$str); 输出的是:“某某某金{园某某地址” 我网上查iconv 有个小BUG。遇到个别字符,就丢字。
$str="某某某金慧园某某地址";
echo  iconv("GB2312", "UTF-8",$str);
echo  iconv("GB2312", "UTF-8//IGNORE",$str);
我这边很正常。
xuzuning 2013-04-03
  • 打赏
  • 举报
回复
$str = "某某某金慧园某某地址"; echo iconv('gb2312', 'utf-8', $str); //某某某金慧园某某地址 echo iconv('gbk', 'utf-8', $str); //某某某金慧园某某地址 没有任何问题 如果在你的环境有问题,只能说是你的 php 版本太低了
晟蒷 2013-04-03
  • 打赏
  • 举报
回复
比如在MSSQL中 “某某某金慧园某某地址”, 如果用 iconv("GB2312", "UTF-8",$str); 输出的是:“某某某金” iconv("GB2312", "UTF-8//IGNORE",$str); 输出的是:“某某某金{园某某地址” 我网上查iconv 有个小BUG。遇到个别字符,就丢字。
xuzuning 2013-04-03
  • 打赏
  • 举报
回复
你最好贴出丢字的那段内容
晟蒷 2013-04-03
  • 打赏
  • 举报
回复
不好使。。5楼的

20,398

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧