Chinaunix

标题: gbk转UTF8问题 [打印本页]

作者: fleung    时间: 2006-10-18 09:57
标题: gbk转UTF8问题
我想用perl把一个GBK编码的中文TXT文件转换成UTF8编码的TXT文件。

perl程序gbk2utf8.pl如下


  1. #!/usr/bin/perl
  2. use Encode;
  3. use Encode::CN;
  4. open(utf8file,">utf8.txt");
  5. while (<>) {
  6. print utf8file encode("utf-8",decode("GB2312",$_));
  7. }
  8. close(utf8file);
复制代码


TXT文件名为01.txt,内容很简单,如下:


  1. 星期一
复制代码


运行


  1. ./gbk2utf8.pl 01.txt
复制代码


输出错误:
Wide character in subroutine entry at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/Encode.pm line 154, <> line 1.

还请各位高手指教?
作者: flw    时间: 2006-10-18 10:09
我怀疑你的 01.txt 本来就是 utf8 格式的。
作者: fleung    时间: 2006-10-18 11:37
我用IE打开01.txt文件,在IE中“查看”=》“编码”中选择GB2312,可以正常查看,但是选择“UTF8”显示为乱码。
作者: aaronvox    时间: 2006-10-18 17:23
老贴中有解释 use encoding "utf8",STDOUT=>'gb2312'; 的不知道是否有帮助
搜索下历史




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2