Re: [請益] 不確定是不是UTF8造成亂碼問題

看板PHP作者 (我愛吃涼麵)時間15年前 (2010/12/07 19:54), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串2/2 (看更多)
code sample: <?php $text = "&#40644; &#21173;"; echo($text."\n"); $text = mb_convert_encoding($text, "UTF-8", "HTML-ENTITIES"); echo($text."\n"); ?> ※ 引述《coldollsheep (加油加油^^)》之銘言: : 很奇怪! : 我打了一筆資料 有一個咏字 : 跑到phpmyadmin裡面看變成 &#21647; : 然後用網頁叫出來看又是正常變成咏 : 然後我就去phpMyAdmin打咏 : 但是網頁跑出來便成 ? : 然後現在有一個需求 : 主管要我把A主機的DB(mysql:big5)轉到B主機(mysql:utf8)的DB的時候 : 他說能不能 &#21647; 這個東西能不能直接轉成 咏 這個字 : 我試不出來 : 舉例 SQL 原本是這樣 : update tabe set name = '&#21647' where id = '00001' : 然後我用 iconv('big5', 'UTF-8', $sql) : echo 出來完全沒變 : 然後我又 : 然後我用 iconv('UTF-8', 'big5', $sql) : echo 出來依舊沒變 : 不知道有遇過這個問題的先進 可以指點一下嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.231.91

12/14 18:04, , 1F
感謝大大解惑 我用我的方式有試出來的確是此問題
12/14 18:04, 1F

12/14 18:04, , 2F
但是正式區的程式卻是用big5寫的。
12/14 18:04, 2F

12/14 18:05, , 3F
無法送出UTF8的SQL。 所以...暫時無解 謝謝大大@@
12/14 18:05, 3F

12/17 10:02, , 4F
怎麼會無解 $text=preg_replace('/(&#[a-f0-9]+;)/i',
12/17 10:02, 4F

12/17 10:02, , 5F
"conv('\\1')",$text); conv裡面轉成UTF-8再轉Big5
12/17 10:02, 5F

12/17 10:03, , 6F
或著先把整句轉成UTF-8, 解htmlentities, 再轉big5
12/17 10:03, 6F

12/17 10:04, , 7F
preg_replace那裡/i要改成/ie
12/17 10:04, 7F
文章代碼(AID): #1C_Y1P1p (PHP)
文章代碼(AID): #1C_Y1P1p (PHP)