免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 11043 | 回复: 28
打印 上一主题 下一主题

perl如何用UTF-8的字符集来写文件,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-31 14:33 |只看该作者 |倒序浏览
写入文件的字符包括英文和中文,好像perl默认是按照ANSI字符集来写文件的,能用UTF-8来写入么,谢谢!

论坛徽章:
0
2 [报告]
发表于 2008-01-31 14:59 |只看该作者
Encode模块为何下载不下来,我使用windows PPM安装的,install Encode.
提示404 Not Found.

论坛徽章:
0
3 [报告]
发表于 2008-01-31 15:52 |只看该作者
确认名字没有打错?
都说404 not found了

论坛徽章:
0
4 [报告]
发表于 2008-01-31 16:14 |只看该作者
没有,论坛没办法发图,否则就给大伙贴出来了,我装的perl是5.6的版本

论坛徽章:
0
5 [报告]
发表于 2008-01-31 17:07 |只看该作者
Error reading http://ppm.activestate.com/PPMPackages/5.6/MS-Win32.....
为什么总是下载失败阿,能不能手工下载安装?谢谢

论坛徽章:
0
6 [报告]
发表于 2008-02-01 12:20 |只看该作者
大家好,我用ppm安装了Encode2.23模块,然后想用utf-8格式写一个文本文件,请问如下代码有问题么,写出来的中文用notepad打开看是乱码,谢谢
use Encode;
open(FOUT, '>:encoding(utf-', $ARGV[1]) or die "Cannot open $ARGV[1]: $!\n";
$key = $sheet->Cells($row,1)->{'Value'};
$key=decode("utf8",$key);
print FOUT "$key = ";
其中$key是从excle文件里读出来的字符串,如果是中文,写成文本就是乱码了,
另外也要支持其他语言,不只是中文,请高手帮忙看下,万分感谢

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2008-02-01 13:25 |只看该作者
notepad有支援UTF-8吗?..UTF8编码一定要用有支援UTF 8的字型...才能看到..否则会看到乱码..
你注意看看有没有看到数字...

论坛徽章:
0
8 [报告]
发表于 2008-02-01 13:36 |只看该作者
数字和英文是可以看到的。另外有个问题
我在http://www.cnblogs.com/slaughter/archive/2007/03/15/675791.aspx
上看到作者说 “Perl字符串是使用utf8编码的”,但是为何我直接printf $string到一个文本文件里,如果包含中文,似乎不是utf8格式的?
我改了一下代码。
$key=encode("utf8",$key);
print FOUT "$key = ";
改成encode了,这样$key应该就是utf8格式了么?

论坛徽章:
0
9 [报告]
发表于 2008-02-01 13:46 |只看该作者
其实我就是以utf-8的格式来输出一个文本文件,因为这个文件是由别的程序作为输入用的,而他只能识别utf8格式,谢谢,初学perl不久,希望大侠指教

论坛徽章:
0
10 [报告]
发表于 2008-02-01 13:55 |只看该作者
还有 用print FOUT "$key = ";
输出是不是有问题Encode后的二进制流如何直接写入文件呢,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP