Re: [問題] 如何把utf8所有的標點符號取代掉?

看板Perl作者 (Jackie)時間16年前 (2009/04/28 21:16), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/6 (看更多)
※ 引述《piglon (宣)》之銘言: : 這兩天照著你提供的方向試了 : 可是在讀檔的時候出現下面的訊息 : utf8 "\xB0" does not map to Unicode at : E:\doc\20090325Program_jdwang\Program\test2.pl line 23, <FILEHANDLE> line 668. : 我查了"\xB0"是"°"角度的符號 utf8裡面是不會有落單的 \xB0 的 utf8裡面單位元的字元只有 \x00 - \x7F (ASCII) 雖然Unicode的(U+00B0)確實是那個符號... 但是它在utf8裡面應該是 \xC2\xB0 (雙位元) 所以你的input顯然不是合法的UTF-8 你或許能夠試試下面的程式碼 use utf8; use strict; # 不用use encoding # 這兩行在Windows下還是不能對console視窗作Unicode output # 只有當STDIN或是STDOUT是pipe或是檔案的時候才有用 binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my $InputFile ='A_1_200_20080101_20081231.txt'; open (FILEHANDLE, "<:utf8", "$InputFile") or die "can't not open $InputFile"; while(my $line = <FILEHANDLE>){ print $line; } close (FILEHANDLE); 根據 perldoc Encode 裡面的說法 在Perl裡面utf8比UTF-8來得寬鬆 -- ~我的個人網站,歡迎蒞臨指教喔~ http://ku.myftp.org/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.164.107

04/29 15:18, , 1F
感謝!!!終於解決了!!感謝兩位大大!!
04/29 15:18, 1F
文章代碼(AID): #19zm6jZx (Perl)
文章代碼(AID): #19zm6jZx (Perl)