无名商城论坛

搜索
查看: 290|回复: 0

[其他技术] 【限定72小时】解决 Perl 输出中文乱码问题

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 18:05:14 | 显示全部楼层 |阅读模式

相信很多小伙伴在使用 Perl 语言的时候,经常会遇到这样一个问题,Perl 不支持中文?perl 输入或者输出中文会出现乱码。这时怎么办呢?下面小编就教小伙伴们如何解决这个问题。

方法/步骤
就以 windows 上的 ActivePerl 为例。
小编的代码特别简单,就是一句:
print "你好";
却出现了乱码,如图。
遇到这样的问题,我们要怎么办?
其实就是 perl 编码的问题,这其实和我们操作系统的编码有关。
我们打开 cmd 命令提示符,输入 chcp 获得编码类型代码。
可见,小编这里的 windows 是代号 936 为默认编码格式。
然后我们可以看到,936 代码页对应的是 gb2313(即中文),或者说是 gbk。
我们知道了我们 windows 是用 gb2312 编码的,这时我们只要改变编码格式即可。
在代码头部输入:
此时是不是就能正常输出中文了呢?
一定要注意一点,如果代码涉及到读取中文的文件,一定要加 上binmode(STDIN,":encoding(gbk)");。

本教程转载网络,我只是小小搬运工
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表