perl输出中文乱码【win10】

news2025/2/3 18:55:26

perl输出中文乱码

运行的时候输出的内容变成了中文乱码,原因首先来查找一下自己的perl的模块里面是否有Encode-CN。请运行打开你的cmd并输入perldoc -l Encode::CN
如果出现了地址在这里插入图片描述
则就是有,如果没有需要进行该模块的安装。
安装方式有很多种,我这里用的是CPAN的安装方式,且前提是我已经有perl的情况(但是没有CPAN),先下载CPAN。
只需要下载如下的两个包:

dmake:

http://mirrors.163.com/cpan/authors/id/S/SH/SHAY/dmake-4.12.2.2.zip

cpanm(App::cpanminus):

http://mirrors.163.com/cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7040.tar.gz
可以选择不同的版本,时间推移版本有更新,除掉红色部分即可

  1. 将dmake-4.12.2.2.zip解压,把 startup 文件夹dmake.exe 文件放入D:\Perl\bin

  2. 解压App-cpanminus-1.7040.tar.gz 到任意目录,cmd窗口进入,输入如下命令:

perl Makefile.PL

dmake test

dmake install

之后可以运行了。(选择镜像节点可以加快下载速度且稳定)

cpanm --mirror http://mirrors.163.com/cpan Encode-CN

安装模块后,再次运行程序查看是否有乱码。如果乱码情况还存在,可能的原因就是操作系统的编码问题。
进行cmd输入chcp获得编码类型代码。活动代码页是936,936代码页对应的是gb2312(即中文),或者说是gbk。和模块中使用的不一样。只需要在代码中加入如下:

在代码头部输入:

use utf8;

#引入utf8模块 脚本内的字符串使用utf8作为编码格式

binmode(STDOUT,":encoding(gbk)");

#标准输出使用gbk作为编码格式,也可以把gbk改为gb2312

binmode(STDIN,":encoding(gbk)");

#如果涉及到输入流,例如读文件,不加这条读中文文件会出现乱码

binmode(STDERR,":encoding(gbk)");

#如果异常错误中的字符串有中文,请加上STDERR,否则也会出现乱码

一定要注意一点,如果代码涉及到读取中文的文件,一定要加上binmode(STDIN,":encoding(gbk)");

还有一种方法,针对我们STDIN、STDOUT、STDERR(即标准输入、标准输出和标准错误)统统使用某种编码作为编码格式。

代码如下:

use utf8;

use open ":encoding(gbk)",":std";

#标准输入、输出、错误皆用gbk编码格式进行编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Three.js——十二、MeshPhysicalMaterial清漆层、粗糙度、物理材质透光率以及折射率(结尾附代码)

环境贴图作用测试 MeshPhysicalMaterial清漆层 MeshPhysicalMaterial和MeshStandarMaterial都是拥有金属度metalness、粗糙度roughness属性的PBR材质,MeshPhysicalMaterial是MeshStandarMaterial的子集,除了继承了他的这些属性以外,还新增了…

NDK OpenGL实现美颜功能

NDK​系列之OpenGL实现美颜特效,本节主要是在上一节大眼萌的特效视上增加美颜特效。 OpenGL视频特效系列: NDK OpenGL渲染画面效果 NDK OpenGL离屏渲染与工程代码整合 NDK OpenGL仿抖音极快极慢录制特效视频 NDK OpenGL与OpenCV实现大眼萌特效 NDK…

java并发编程 11:JUC之ReentrantLock使用与原理

目录 使用可重入可打断锁超时公平锁条件变量 原理非公平锁实现原理源码流程 锁重入原理可打断原理与不可打断原理公平锁原理条件变量原理await流程signal流程 使用 ReentrantLock是可冲入锁,与 synchronized 一样,都支持可重入。但是相对于 synchronize…

kafka第三课-可视化工具、生产环境问题总结以及性能优化

一、可视化工具 https://pan.baidu.com/s/1qYifoa4 密码:el4o 下载解压之后,编辑该文件,修改zookeeper地址,也就是kafka注册的zookeeper的地址,如果是zookeeper集群,以逗号分开 vi conf/application.conf 启…

如何刻录光盘

如何刻录光盘 1 、将光盘放入光驱,选择“用于CD/DVD播放机” ,该模式下,刻录在光盘的文件无法进行编辑和删除 2 、将需要刻录的文件拷贝至光盘内,则会在“准备好写入光盘中的文件”下显示拷贝进去的文件,此时文件还没…

EDI 工作流操作指南

一个完整的EDI工作流中,起始端为通常为文件传输端口:如AS2、OFTP等,末端为数据库端口。此前的文章中我们对AS2端口以及数据库端口已做了详细介绍,本文主要介绍 EDI 文件的格式转换以及映射。 如下图所示,工作流界面中…

安装blissOS重启后无法进入图形化界面

重启blissOS 重启时,按e键两下 进入 上图是一个可编辑页面,不要删除修改前面的内容,移动光标前往quiet,然后删除quiet输入“ nomodeset xforceseva ”,然后按下回车 然后按回车,按b键进入系统 在set-…

class组件constructor方法

class组件constructor方法 https://blog.csdn.net/m0_37557930/article/details/116228217 https://blog.csdn.net/qq_39207948/article/details/113143131 ​ 为何我们使用子类继承父类,就必须在 constructor( ) 方法中调用 super( ) 方法,否则新建实…

【C】文件操作详解

这里写目录标题 文件操作什么是文件文件名文件类型文本文件二进制文件 文件缓冲区文件指针文件的打开和关闭fopenfclose 文件的顺序读写fgetcfputcfgetsfputcfscanffprintffwritefread比较scanf/fscanf/sscanfsscanf 比较printf/fprintf/sprintfsprintf 文件的随机读写fseekfte…

周考一之重做

输入一个学生的成绩,如果学习成绩>90分的同学用A表示,60-89分之间用B表示,60分以下的用C表示(10) public static void main(String[] args){ Scanner scanner new Scanner(System.in); System.out.println(“请输入学生成绩:…

linux图形界面总结---X、Xorg、WM、QT、GTK、KDE、GNOME的区别与联系

文章目录 一、 linux图形界面二、X协议三、Xfree86 Xorg四、WM(window manager:窗口管理器)五、X协议的Client端实现六、KDE、GNOME、QT和GTK直接关系七、参考: 一、 linux图形界面 linux本身没有图形界面,linux现在的图形界面的实现只是linux下的应用程…

值类型与引用类型

常见的值类型:int,long, short, float, double, byte, char, enum, struct...... 常见的引用类型:字符串, 数组, 类...... 区别&…

附录10-3.JS正则常见案例

目录 1 某一个字符串重复出现两次 2 多行字符串转变为数组套对象 3 多个正则表达式匹配一个字符 4 在指定的字符前加一些什么东西 1 某一个字符串重复出现两次 match的方式如果你使用小括号分组,第一个结果是符合正则的结果,也就是我查出来了 l…

Excel表格怎么样转换成PDF?分享这3个方法免费转换!

在日常办公和学习中,我们常常需要将Excel表格转换为PDF格式以便分享、打印或存档。本文将介绍三种简便的免费方法。方法一介绍了记灵在线工具,方法二使用办公软件(WPS或Office),方法三则使用Adobe软件。 方法一&#…

大二毕设.2-自研Spring框架

目录 项目描述: 基本演示 提取标记类 IOC容器的装载 IOC容器的操作 DI依赖注入 Aspect排序 AOP MVC 功能实现讲解 项目描述: 为了更好地学习 Spring 的核心,参考 Spring 源码实现的一个简易框架当前已实现 IOC,DI依赖注…

交叉编译gRPC初实践

快速开始 一、创建android编译目录,在grpc源码根目录下运行: mkdir -p cmake/build_android && cd cmake/build_android 二、cmkae生成对应Makefile等编译所需的文件 cmake -DCMAKE_TOOLCHAIN_FILE/zhuyazhou/DDS/tools_dds/android-ndk-r25/b…

Python(Conda)环境迁移(从win10到macos12.5)笔记

文章目录 背景环境 1、通过conda迁移2、通过python迁移3、最后(逐一安装) 背景环境 win10是以前安装的conda和py。目前需要导出的环境的版本为py3.10.4。macos是重新安装的conda,目前有的环境是py3.11.4。我是先进conda用刚安装好的base创建…

idea 有时提示找不到类或者符号,日志报java: 找不到符号的解决

解决一&#xff1a; idea maven编译成功&#xff0c;运行失败提示找不到符号&#xff0c;主要是get和set方法找不到符号&#xff0c;此时就是idea的lombok版本冲突 IDEA版本导致的Lombok失效&#xff0c;需要更新lombok版本到1.18.14及之后版本得到解决 <dependency>&…

计划、逻辑与智能

有计划性是指基于目标、目的或问题&#xff0c;通过制定计划、设立步骤和执行策略来达成预期结果的思维和行为。有计划的智能强调理性、逻辑和目标导向&#xff0c;它能够帮助人们更好地组织和管理资源&#xff0c;解决复杂的问题&#xff0c;并实现预期的目标。 无计划性则代表…

Seal AppManager如何基于Terraform简化基础设施管理

作者简介 陈灿&#xff0c;数澈软件Seal 后端研发工程师&#xff0c;曾在腾讯负责敏捷研发体系建设以及 DevOps 解决方案的敏捷实践。在敏捷研发和产品效能提升有着丰富的经验&#xff0c;致力于构建一站式研发友好的平台工程解决方案。现在是 Seal 平台工程团队核心研发人员。…