Re: [問題] 如何把utf8所有的標點符號取代掉?
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章