作者chweng ()
看板PHP
標題Re: [請益] utf-8的二進制轉中文
時間Wed Sep 17 00:40:06 2008
※ 引述《chobitsppc (無止盡的道路)》之銘言:
: 現在是FLSAH會丟UNICODE的碼過來
: 最後我可以得到其編碼
: 例如"我"的unicode碼: 25105
: 請問我該怎麼用這麼碼轉成utf-8?
你收到的是以十進位表示的 UCS-2 碼。
要轉換很簡單,首先就是先轉成十六進位,再用 hex2bin 和 iconv 去處理。
簡單一個範例,剩下的自己發揮囉:
<?php
$dec = 25105;
echo iconv('UCS-2', 'UTF-8', hex2bin(base_convert($dec, 10, 16)));
function hex2bin($input) {
$len = strlen($input);
return pack("H" . $len, $input);
}
?>
: 因為我發現unicode好像用fwrite寫不進去@@
: 用utf-8就可以
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.236.131
推 aquarianboy :簡單方法的解決,推 :) 09/17 00:54
推 chobitsppc :首先謝謝各位大大,不過我用這方法只會出現亂碼... 09/17 01:35
→ chobitsppc :我把hex2bin獨立出來echo也的確是0和1得字串 09/17 01:39
→ chobitsppc :因為原本我hex2bin是用官網範例下另一個function的 09/17 01:53
→ chobitsppc :所以印出的也是錯的,但我用上面的function會印出奇 09/17 01:54
→ chobitsppc :亂碼... 09/17 01:54
→ chobitsppc :是因為在linux下的關係嗎 09/17 05:13