PHP 將 文字 轉換成 &#xxxxx; UNICODE 碼

將中文字轉換成 &#xxxxx; UNICODE 碼, 主要的用途在於, 不用擔心有顯示不出來的文字.

以前就有紀錄手動轉換的方法: 查詢 中文字 對應 HTML碼 是哪個 &#xxxx; 的 小技巧


要直接用 PHP 轉換成 UNICODE 的話, 要如何寫呢?

文字 與 UNICODE 互相轉換程式 (PHP 版)


<?php
$str = '我';

/* 將 '我' 轉換成 '25105' 或 '&#25105;' */
// 使用 iconv
$unicode_html = base_convert(bin2hex(iconv('UTF-8', 'UCS-4', $str)), 16, 10); // 25105

// 使用 mb_convert_encoding
$unicode_html = base_convert(bin2hex(mb_convert_encoding($str, 'ucs-4', 'utf-8')), 16, 10); // 25105

// 補上 &#xxxxx;
$unicode_html = '&#' . base_convert(bin2hex(iconv("utf-8", "ucs-4", $str)), 16, 10) . ';'; // &#25105;

// 將 &#25105 轉回 '我'
$str = mb_convert_encoding($unicode_html, 'UTF-8', 'HTML-ENTITIES'); // '我', $unicode_html = '&#25105'
?>

參考範例

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈PHP 將 文字 轉換成 &#xxxxx; UNICODE 碼〉中有 4 則留言

  1. 謝謝你的資料,我正需要找這方面的資料,你的寶貴資料令我終於能解決到問題了,希望一日能再次在你這裡尋找到解決問題的方法。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料