Re: [請益] 字編碼問題

看板PHP作者 (1597463007)時間10年前 (2014/06/30 20:58), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《m7m123d ( )》之銘言: : 在程式裡用pdftotext的方式將PDF檔轉成UTF-8的txt文字檔 : 接著抓出txt裡面的一段文字 : $_str = '生日:066年11月28日'; : $_str = str_replace("生日:", '', $_str); : $_str = str_replace("年" , '', $_str); : $_str = str_replace("月" , '', $_str); : $_str = str_replace("日" , '', $_str); : echo $_str; : Output:066年1128 : 我手動複製沒被替換過去的「年」做替換,發現可行, : google到是字元代碼不相同的問題,這個狀況第一次遇到, : 想問一下版上大家有哪些經驗,想伸個關鍵字,謝謝。 有這種狀況的字其實不多 Unicode 有一區專門存放這種字: CJK Compatibility Ideographs U+F900~U+FAFF http://unicode-table.com/en/sections/cjk-compatibility-ideographs/ http://www.unicode.org/charts/PDF/UF900.pdf 它是用來存放在 Unicode 所參照的來源編碼裡, 一個字被重覆編碼的狀況 這時其中一個會對應到正常的字 (U+4E00~U+9FFF 裡的) 另一個就會對應到這邊來 狀況中的"年"字是 U+F98E, UTF-8 編碼是 EF A6 8E, PHP 可用 "\xEF\xA6\x8E" 表示 (記得用雙引號, 否則 \x 會看不懂; 當然如果有這種字可複製也可以用複製的, 不過就要寫個註解) 不過由於字不多加上會出現這種字只有很有限的狀況, 碰到了再解就好... (絕大多數情形下所輸入的字都會先對映到正常的範圍裡 加上這區裡的字有七成來自韓文編碼 可以說除非文件曾經經過韓文編碼不然幾乎不會有這種字) -- LPH [acronym] = Let Program Heal us -- New Uncyclopedian Dictionary, Minmei Publishing Co. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.30.32 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1404133119.A.6A0.html

07/01 00:10, , 1F
感謝你的分享,我來專研一下
07/01 00:10, 1F
文章代碼(AID): #1JiLx_QW (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1JiLx_QW (PHP)