Eclipse 控制台输入中文再读出来乱码的解决方案

本文介绍了解决Eclipse中出现的中文乱码问题的方法,包括读取文件及控制台输入输出时的乱码解决方案,并提供了一种通过修改eclipse.ini文件来永久解决该问题的有效途径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用:http://www.cnblogs.com/wenjiang/archive/2013/01/15/2861774.html

最近遇到一个问题,就是我的Eclipse无法正确显示中文,情况如下:

1.读取一个文件的中文输出到控制台,发现乱码;

2.通过System.out输出到控制台,没有问题,但是重新读取输出到控制台的中文,乱码;

3.通过控制台输入内容,然后将这些内容写入一个文件,打开,乱码。

     我以为是我的Eclipse的中文编码设置有问题,但是全都改过后,发现问题依然存在,系统也是支持中文,设置没有问题。既然这样,那么,就是程序有问题。于是我就写了这么一个简单的代码:

   BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
   System.out.println(reader.readLine());
   reader.close();

      检验我的控制台是否有问题,结果乱码。可能存在的问题只有两个地方:

1.System.in存在问题;

2.reader.readLine()有问题。

reader.readLine()暂时认为没有问题,因为BufferedReader是专门读取字符的,但是我这里有一个InputStreamReader是读取字节的,对于中文来说,是要占两个字节的,但是InputStreamReader一次只读取一个字节,如果中文的字节数是奇数,就有可能出现乱码。

   网上有很多方法,比如说,指定中文编码格式,我试过,不行。最后,终于找到一个方法,经测试可行,方法如下:

   (1)关闭Eclipse;

    (2)在Eclipse.exe同目录下,有一个eclipse.ini,打开,然后添加这么一句:

           -Dfile.encoding = utf-8

           保存;

    (3)重新打开Eclipse,问题就没有了。

        -Dfile.encoding = utf-8,就是字面上的意思,设置系统属性file.encoding为utf-8.

乱码"C:\Program Files\Java\jdk-20\bin\java.exe" "-javaagent:D:\IDE\IntelliJ IDEA 2022.2\lib\idea_rt.jar=63827:D:\IDE\IntelliJ IDEA 2022.2\bin" -Dfile.encoding=UTF-8 -classpath E:\javaDemo\secdemo\higressDemo\order-auth\target\classes;D:\Maven\repository\org\springframework\boot\spring-boot-starter-web\3.0.5\spring-boot-starter-web-3.0.5.jar;D:\Maven\repository\org\springframework\boot\spring-boot-starter\3.0.5\spring-boot-starter-3.0.5.jar;D:\Maven\repository\org\springframework\boot\spring-boot\3.0.5\spring-boot-3.0.5.jar;D:\Maven\repository\org\springframework\boot\spring-boot-autoconfigure\3.0.5\spring-boot-autoconfigure-3.0.5.jar;D:\Maven\repository\org\springframework\boot\spring-boot-starter-logging\3.0.5\spring-boot-starter-logging-3.0.5.jar;D:\Maven\repository\ch\qos\logback\logback-classic\1.4.6\logback-classic-1.4.6.jar;D:\Maven\repository\ch\qos\logback\logback-core\1.4.6\logback-core-1.4.6.jar;D:\Maven\repository\org\apache\logging\log4j\log4j-to-slf4j\2.19.0\log4j-to-slf4j-2.19.0.jar;D:\Maven\repository\org\apache\logging\log4j\log4j-api\2.19.0\log4j-api-2.19.0.jar;D:\Maven\repository\org\slf4j\jul-to-slf4j\2.0.7\jul-to-slf4j-2.0.7.jar;D:\Maven\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\Maven\repository\org\springframework\spring-core\6.0.7\spring-core-6.0.7.jar;D:\Maven\repository\org\springframework\spring-jcl\6.0.7\spring-jcl-6.0.7.jar;D:\Maven\repository\org\yaml\snakeyaml\1.33\snakeyaml-1.33.jar;D:\Maven\repository\org\springframework\boot\spring-boot-starter-json\3.0.5\spring-boot-starter-json-3.0.5.jar;D:\Maven\repository\com\fasterxml\jackson\core\jackson-databind\2.14.2\jackson-databind-2.14.2.jar;D:\Maven\repository\com\fasterxml\jackson\core\jackson-annotations\2.14.2\jackson-annotations-2.14.2.jar;D:\Maven\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.14.2\jackson-datatype-jdk8-2.14.2.jar;D:\Maven\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.14.2\jackson-datatype-jsr310-2.14.2.jar;D:\Maven\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.14.2\jackson-module-parameter-names-2.14.2.jar;D:\Maven\repository\org\springframework\boot\spring-boot-starter-tomcat\3.0.5\spring-boot-starter-tomcat-3.0.5.jar;D:\Maven\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.7\tomcat-embed-core-10.1.7.jar;D:\Maven\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.7\tomcat-embed-el-10.1.7.jar;D:\Maven\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.7\tomcat-embed-websocket-10.1.7.jar;D:\Maven\repository\org\springframework\spring-web\6.0.7\spring-web-6.0.7.jar;D:\Maven\repository\org\springframework\spring-beans\6.0.7\spring-beans-6.0.7.jar;D:\Maven\repository\io\micrometer\micrometer-observation\1.10.5\micrometer-observation-1.10.5.jar;D:\Maven\repository\io\micrometer\micrometer-commons\1.10.5\micrometer-commons-1.10.5.jar;D:\Maven\repository\org\springframework\spring-webmvc\6.0.7\spring-webmvc-6.0.7.jar;D:\Maven\repository\org\springframework\spring-aop\6.0.7\spring-aop-6.0.7.jar;D:\Maven\repository\org\springframework\spring-context\6.0.7\spring-context-6.0.7.jar;D:\Maven\repository\org\springframework\spring-expression\6.0.7\spring-expression-6.0.7.jar;D:\Maven\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2022.0.0.0\spring-cloud-starter-alibaba-nacos-discovery-2022.0.0.0.jar;D:\Maven\repository\com\alibaba\cloud\spring-cloud-alibaba-commons\2022.0.0.0\spring-cloud-alibaba-commons-2022.0.0.0.jar;D:\Maven\repository\com\alibaba\nacos\nacos-client\2.2.1\nacos-client-2.2.1.jar;D:\Maven\repository\com\alibaba\nacos\nacos-auth-plugin\2.2.1\nacos-auth-plugin-2.2.1.jar;D:\Maven\repository\com\alibaba\nacos\nacos-encryption-plugin\2.2.1\nacos-encryption-plugin-2.2.1.jar;D:\Maven\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;D:\Maven\repository\com\fasterxml\jackson\core\jackson-core\2.14.2\jackson-core-2.14.2.jar;D:\Maven\repository\org\apache\httpcomponents\httpasyncclient\4.1.5\httpasyncclient-4.1.5.jar;D:\Maven\repository\org\apache\httpcomponents\httpcore\4.4.16\httpcore-4.4.16.jar;D:\Maven\repository\org\apache\httpcomponents\httpcore-nio\4.4.16\httpcore-nio-4.4.16.jar;D:\Maven\repository\org\apache\httpcomponents\httpclient\4.5.14\httpclient-4.5.14.jar;D:\Maven\repository\io\prometheus\simpleclient\0.16.0\simpleclient-0.16.0.jar;D:\Maven\repository\io\prometheus\simpleclient_tracer_otel\0.16.0\simpleclient_tracer_otel-0.16.0.jar;D:\Maven\repository\io\prometheus\simpleclient_tracer_common\0.16.0\simpleclient_tracer_common-0.16.0.jar;D:\Maven\repository\io\prometheus\simpleclient_tracer_otel_agent\0.16.0\simpleclient_tracer_otel_agent-0.16.0.jar;D:\Maven\repository\com\alibaba\spring\spring-context-support\1.0.11\spring-context-support-1.0.11.jar;D:\Maven\repository\org\springframework\cloud\spring-cloud-commons\4.0.0\spring-cloud-commons-4.0.0.jar;D:\Maven\repository\org\springframework\security\spring-security-crypto\6.0.2\spring-security-crypto-6.0.2.jar;D:\Maven\repository\org\springframework\cloud\spring-cloud-context\4.0.0\spring-cloud-context-4.0.0.jar;D:\Maven\repository\org\bitbucket\b_c\jose4j\0.7.0\jose4j-0.7.0.jar;D:\Maven\repository\org\slf4j\slf4j-api\2.0.7\slf4j-api-2.0.7.jar;D:\Maven\repository\cn\hutool\hutool-all\5.8.18\hutool-all-5.8.18.jar;D:\Maven\repository\org\projectlombok\lombok\1.18.26\lombok-1.18.26.jar org.xueqing.utils.JwtUtils ��� 进程已结束,退出代码0
最新发布
07-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值