views: 2420 times


最近遇到的一些編碼問題,時常在網頁裡面看到 &#xxxxxxx; 的字碼,透過瀏覽器,會將這些 unicode html code 轉成可以顯示的文字,例如:對於冷え性や生活習慣病,在網頁上看起來很正常,但是一但轉回到原始碼(HTML code)編輯的時候,就會變成:對於冷え性や生活習慣病,這個樣子。
翻了 Google 大神,這個東西是因為編碼的關係,在 BIG-5 編碼中若是沒有可以顯示的文字,這些文字就會經過特殊的演算法則轉換成 &#xxxxxx; 這種樣子,這些就稱為 unicode html。麻煩的是,在儲存資料的時候,我並不希望會有這種東西出現,尤其是要將原本是 BIG-5 的資料轉換為 UTF-8 的時候,這些東西就很討厭。
依據大神的指示,這些字碼的來源,大概可以這麼解釋:unicode html 字碼來元是由原本的編碼,轉換為 UCS-2 之後,再取二進制轉換,再取一次 16 to 10 進制轉換,在加上 &# 而得到這個字碼。
以 PHP 來說,他大概是這個樣子:
以上的例子就是將文字轉換為 unicode html 的方式,那麼,轉回來呢,很簡單,將上述的程式邏輯反過來即可。
unicode html 轉回文字,由於 php 沒有 hex2bin 的函式,所以我們自己簡單的寫一個來用。
這就是將 unicode html 轉回文字的方式。
以上,希望對於要處理 unicode html 的人有所幫助。
翻了 Google 大神,這個東西是因為編碼的關係,在 BIG-5 編碼中若是沒有可以顯示的文字,這些文字就會經過特殊的演算法則轉換成 &#xxxxxx; 這種樣子,這些就稱為 unicode html。麻煩的是,在儲存資料的時候,我並不希望會有這種東西出現,尤其是要將原本是 BIG-5 的資料轉換為 UTF-8 的時候,這些東西就很討厭。
依據大神的指示,這些字碼的來源,大概可以這麼解釋:unicode html 字碼來元是由原本的編碼,轉換為 UCS-2 之後,再取二進制轉換,再取一次 16 to 10 進制轉換,在加上 &# 而得到這個字碼。
以 PHP 來說,他大概是這個樣子:
以上的例子就是將文字轉換為 unicode html 的方式,那麼,轉回來呢,很簡單,將上述的程式邏輯反過來即可。
unicode html 轉回文字,由於 php 沒有 hex2bin 的函式,所以我們自己簡單的寫一個來用。
這就是將 unicode html 轉回文字的方式。
以上,希望對於要處理 unicode html 的人有所幫助。




Leave your greetings.