作者tonytsai88 (我爱吃凉面)
看板PHP
标题Re: [请益] 不确定是不是UTF8造成乱码问题
时间Tue Dec 7 19:53:58 2010
code sample:
<?php
$text = "黄 劵";
echo($text."\n");
$text = mb_convert_encoding($text, "UTF-8", "HTML-ENTITIES");
echo($text."\n");
?>
※ 引述《coldollsheep (加油加油^^)》之铭言:
: 很奇怪!
: 我打了一笔资料 有一个咏字
: 跑到phpmyadmin里面看变成 咏
: 然後用网页叫出来看又是正常变成咏
: 然後我就去phpMyAdmin打咏
: 但是网页跑出来便成 ?
: 然後现在有一个需求
: 主管要我把A主机的DB(mysql:big5)转到B主机(mysql:utf8)的DB的时候
: 他说能不能 咏 这个东西能不能直接转成 咏 这个字
: 我试不出来
: 举例 SQL 原本是这样
: update tabe set name = '咏' where id = '00001'
: 然後我用 iconv('big5', 'UTF-8', $sql)
: echo 出来完全没变
: 然後我又
: 然後我用 iconv('UTF-8', 'big5', $sql)
: echo 出来依旧没变
: 不知道有遇过这个问题的先进 可以指点一下吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.231.91
1F:推 coldollsheep:感谢大大解惑 我用我的方式有试出来的确是此问题 12/14 18:04
2F:→ coldollsheep:但是正式区的程式却是用big5写的。 12/14 18:04
3F:→ coldollsheep:无法送出UTF8的SQL。 所以...暂时无解 谢谢大大@@ 12/14 18:05
4F:推 buganini:怎麽会无解 $text=preg_replace('/(&#[a-f0-9]+;)/i', 12/17 10:02
5F:→ buganini:"conv('\\1')",$text); conv里面转成UTF-8再转Big5 12/17 10:02
6F:→ buganini:或着先把整句转成UTF-8, 解htmlentities, 再转big5 12/17 10:03
7F:→ buganini:preg_replace那里/i要改成/ie 12/17 10:04