[問題] does not map to big5-eten
我現在在玩HTML Parser模組
不過我發現我抓完網頁嘗試印出某些資料時出現這個訊息:
"\x{00a0}" does not map to big5-eten at.....
我查了一下 00a0在unicode中是 「無斷行空格」
big5疑似不支援
我的Perl檔開頭有加
use encoding 'big5', Filter=>1;
其實我看不懂這行的細節, 只是抄駱馬書翻譯者的譯註。
我想問, 我自己想到幾個解決方向 何者可行?
1.
讓整個perl都支援unicode, 但對parse網頁來說 可能需要進一步判斷網頁編碼
另外parser本身是否可以判讀unicode也可能會是在我們無力控制的範圍
2.
只要能在程式中能識別出這樣的內碼, 那麼我們就可以選擇 避開
或是以big5既有的字符取代印出 (例如以一般空格取代無斷行空格)
我測試了 s/\x{00a0}// 可以成功
但會有個額外的問題:
這個做法能延伸到unicode的一段範圍嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.243.163.36
※ 編輯: StarTouching 來自: 111.243.163.36 (03/22 05:04)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章