如何将特殊字符从GB2312转为UTF-8

countstars 2006-03-22 12:45:06
″发烧嘞 ◇
上面这种字符,从数据库里取出,显示在GB2312的网页里很正常
可是要将这些数据放在utf-8的XML文档里,变成不可识别的了
请问如何将这种类型字符成功转为UTF-8,用Editplus看是个方框,查看页面源代码是个黑块。

求助,谢谢
...全文
354 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxqing 2006-03-23
  • 打赏
  • 举报
回复
哈哈,赶快支持一下,经常遇到编码的问题,头都大了
chlinux 2006-03-23
  • 打赏
  • 举报
回复
iconv("gbk","utf-8",$str)
用这个吧,不过这个函数好像有些 BUG的,不知道高版本的解决了没有

mb_convert_encoding()这个好像已经不太建议使用的,要使用,需要安装时加上个参数,具体的东西,要看一下configure的帮助
mynamesucks 2006-03-22
  • 打赏
  • 举报
回复
mb_convert_encoding()

楼主可以用dreamweaver打开看看,dreamweaver有调编码的
countstars 2006-03-22
  • 打赏
  • 举报
回复
晕,这里的怎么把我那个字符去掉了???
我那个东西用ord看是7,不知道是什么玩意。
反正就是一些特殊字符,乱七八糟的,拜托了谢谢。
gu1dai 2006-03-22
  • 打赏
  • 举报
回复
hoho.收藏了。
xuzuning 2006-03-22
  • 打赏
  • 举报
回复
是的内码是7
在做编码转换的时候,由于基本ascii码字符在各种编码中都是一样的所以看上去是一样的

你可以把码值小于32的字符转换成&#nn;这样的格式
preg_replace('/[\x00-\x1f]/e', '"&#".ord(\\0).";"', $text)

你还可以用get_html_translation_table函数查看其他特殊字符的html格式
countstars 2006-03-22
  • 打赏
  • 举报
回复
IAeh5beiydXgzyCh8w==
这个东西,第一个是个圆点。
xuzuning 2006-03-22
  • 打赏
  • 举报
回复
把你的内容用base64编码贴出,这样人家才可能知道究竟是什么玩意

虽然ascii码值小于32时有部分字符是可显的,但是码值为7是不可显的。他的ascii名称是bell,这个码值可以控制机器上的喇叭响一声“哔”
countstars 2006-03-22
  • 打赏
  • 举报
回复
我知道encoding,可是你没明白我的意思
这个字符根本就不在gbk字符集里,可是能正常显示,当使用转换函数的时候,不在字符集里的字符没办法运用规则来转换的,所以转换结果是乱码,知道吗?
gu1dai 2006-03-22
  • 打赏
  • 举报
回复
你没转换当然乱码了。
iconv("gbk","utf-8",$str)

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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