免费注册 查看新帖 |

Chinaunix

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

怎样检测字体编码? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-26 17:17 |只看该作者 |倒序浏览
一个在windowsXP下用zip压缩的一个目录,传到linux下,用unzip解压后发现原目录中的中文文件名是乱码。
试着用perl进行编码转换:

#!/usr/bin/perl
#c.pl
use Encode;

for $util (@ARGV){
$util=encode("gb2312",decode("utf-8",$util));
print "$util\n";
}
可得到结果是这样:
[root@supersun download]# ./c.pl ++-?+乏+胃-?+?.doc
++-?+??+θ-?+?.doc

我想是不是$util中内容不是utf-8的,有没有什么方法可以检测$util中字串的编码?
望各位兄弟能不吝赐教,再下感激不尽!

论坛徽章:
0
2 [报告]
发表于 2007-04-26 17:28 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2007-04-26 17:38 |只看该作者
Encode::Guess
Encode::Detect

论坛徽章:
0
4 [报告]
发表于 2007-04-26 17:39 |只看该作者
模块使用了,不过问题还是没有解决!不过还是非常感谢gsging兄!我在想想办法,多谢!
  1. #!/usr/bin/perl
  2. use Encode;
  3. use Encode::Detect;

  4. for $util (@ARGV){
  5. $util=encode('gb2312',decode("detect",$util));
  6. print "$util\n";
  7. }
复制代码


运行结果:
[root@supersun download]# ./c.pl ++-?+乏+胃-?+?.doc
++-?+ид+?И-┴+И.doc

[ 本帖最后由 coldrainsunc 于 2007-4-26 17:41 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-04-26 20:15 |只看该作者
是不是linux的环境变量设置的有问题?

论坛徽章:
0
6 [报告]
发表于 2007-04-27 10:10 |只看该作者
搞不清楚啊,如果不压缩的话传到linux系统中的文件的中文文件名显示正常!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP