作者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
推 coldollsheep:感謝大大解惑 我用我的方式有試出來的確是此問題 12/14 18:04
→ coldollsheep:但是正式區的程式卻是用big5寫的。 12/14 18:04
→ coldollsheep:無法送出UTF8的SQL。 所以...暫時無解 謝謝大大@@ 12/14 18:05
推 buganini:怎麼會無解 $text=preg_replace('/(&#[a-f0-9]+;)/i', 12/17 10:02
→ buganini:"conv('\\1')",$text); conv裡面轉成UTF-8再轉Big5 12/17 10:02
→ buganini:或著先把整句轉成UTF-8, 解htmlentities, 再轉big5 12/17 10:03
→ buganini:preg_replace那裡/i要改成/ie 12/17 10:04