作者piglon (宣)
看板Perl
标题Re: [问题] 如何把utf8所有的标点符号取代掉?
时间Tue Apr 28 20:50:15 2009
这两天照着你提供的方向试了
可是在读档的时候出现下面的讯息
utf8 "\xB0" does not map to Unicode at
E:\doc\20090325Program_jdwang\Program\test2.pl line 23, <FILEHANDLE> line 668.
我查了"\xB0"是"°"角度的符号
该不会是我这样写把档案从utf8转成Unicode了吧
以下是我的程式码!!应该是没问题!!
use utf8;
use strict;
use encoding 'utf8', STDIN => 'utf8', STDOUT => 'utf8';
my $InputFile ='A_1_200_20080101_20081231.txt';
open (FILEHANDLE, "<:encoding(UTF-8)", "$InputFile") or die "can't not open
$InputFile";
while(my $line = <FILEHANDLE>){
print $line;
}
close (FILEHANDLE);
※ 引述《kornelius (c9s)》之铭言:
: 请 $ file your_file 一下,看一下 encoding 为何
: 如果你是用 windows 的笔记本,很有可能还是 big5 encoding.
: 假设你的档案已经是 utf8 , 可以在开档就指定以 utf8 读入
: open my $fh, '<:encoding(UTF-8)', 'file';
: 如果你是读入 big5 档案,请使用 from_to 做转换
: use Encode 'from_to';
: $utf8 = from_to($big5, "big5", "utf8");
: 相关资料:
: perldoc -f open
: perldoc Encode
: perldoc perluniintro
: : 推 piglon:我是用perl5.10 04/21 20:24
: : 推 piglon:我写了另一支程式测试是可以的 应该是我输入有问题 04/21 20:36
: : → kornelius:应该是你的 input 非 utf8. 04/21 20:42
: : → kornelius:please use Encode module. 04/21 20:42
: : 推 piglon:不好意思我不会使用Encode module 虽然有人做笔记但看不懂 04/21 22:00
: : 推 piglon:我输入的档案用笔记本打开是utf8可是却又比对不到= = 04/21 22:31
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.108.60.84