`
gdpglc
  • 浏览: 95839 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

错误的file.encoding会导致java程序在控制台输出乱码

阅读更多

测试代码如下

public class Test{
  static public void main(String argvs[]){
      System.out.println("你好");

  }
}

 

编译后按如下方式运行:

java Test

显示正常。

 

按如下方法运行则出现乱码:

java -Dfile.encoding=UTF-8 Test

则出现乱码。

 

原因:

控制台使用的字符集是GBK,java在向控制台输出时会认为控制台的字符集为file.encoding指定的值,java内部的字符集表示是unicode,java会进行unicode向file.encoding指定的字符集的转换。因此file.encoding指定的字符集和console不同时发生乱码。

 

而当不指定file.encoding时,file.encoding就是系统默认字符集是和console使用的字符集相同的,因此不会出现乱码。

分享到:
评论

相关推荐

    Java--IDEA控制台输出output中文乱码(csdn)————程序.pdf

    在开发Java应用程序时,我们经常需要在IntelliJ IDEA(简称IDEA)的控制台输出中文字符,然而,有时会遇到输出的中文显示为乱码。这个问题主要涉及到字符编码的设置,解决这个问题需要对IDEA的配置进行适当的调整。...

    idea 控制台中文乱码和web项目乱码(csdn)————程序.pdf

    在开发Java Web应用程序时,IDEA(IntelliJ IDEA)控制台和Web项目的乱码问题是一个常见的困扰。本文将深入探讨如何解决这个问题,并提供多种解决方案。 首先,我们要理解乱码问题通常发生在两个主要环节:IDEA控制台...

    java中文乱码问题

    如果中间某次字符处理,用错误的编码方式解码了从输入流读取的字符数据,或用错误的编码方式将字符写入输出流,则下一个字符数据的接收者就会编解码出错,从而导致最终显示乱码。 三、在 Eclipse 中运行 Java 文件...

    彻底解决中文乱码的问题

    4. 控制台输出:Java默认的控制台编码可能不支持中文,可以通过修改系统环境变量`JAVA_TOOL_OPTIONS`,如`-Dfile.encoding=UTF-8`,强制Java使用UTF-8编码。 5. IDE配置:如果你的代码是在IDE(如IntelliJ IDEA或...

    解决Tomcat在控制台console中显示乱码的问题

    在IT行业中,尤其是在Java Web开发领域,Apache Tomcat是一个广泛使用的Servlet容器,它负责解析和执行JSP、Servlet等Web应用程序。然而,在实际操作中,我们可能会遇到各种问题,其中一种常见的情况就是Tomcat在...

    中文输出控制台乱码

    而在Linux或macOS中,Terminal通常使用UTF-8编码,如果程序输出的不是UTF-8编码,也会导致乱码。 #### 1.3 编程语言处理不当 在编程时,如果没有正确设置字符编码,比如在Python中忘记指定`# -*- coding: utf-8 -*-...

    MyEclipse控制台中文乱码的解决

    在MyEclipse控制台中出现中文乱码,主要是因为编码不匹配导致的。具体来说: 1. **源文件编码**:开发者在编写代码时所使用的文本编辑器可能设置了特定的编码格式(如GBK)。 2. **编译时编码**:Eclipse等IDE在...

    JAVA常见中文乱码问题解决方法

    Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统、数据库系统之间的编码不一致。本文深入剖析了Java中文问题的根源,并提供了相应的解决方案。 一...

    idea控制台中文乱码。(csdn)————程序.pdf

    当在Idea的控制台中输出包含中文字符的代码时,如果显示为乱码,通常是由于编码设置不正确导致的。编码问题涉及到计算机如何理解和存储字符,尤其是在处理多语言环境时,正确的编码设置至关重要。在UTF-8编码下,...

    servlet输出中文乱码问题

    4. **输出流编码设置问题**:在Servlet中使用`PrintWriter`或`OutputStream`输出数据时,如果没有正确地设置输出流的字符编码,同样会导致乱码。 #### 三、解决方案详解 根据以上分析,我们可以通过以下步骤来解决...

    idea启动tomcat项目控制台乱码问题.docx

    在使用IntelliJ IDEA(简称Idea)开发Java Web项目并使用Tomcat作为应用服务器时,有时会遇到控制台输出乱码的问题。这主要是因为字符编码设置不正确导致的。以下是一些解决Idea启动Tomcat项目时控制台乱码问题的...

    java中文乱码字符集.pdf

    Java编译器(javac)在编译源文件时,如果没有明确指定编码,会默认使用`file.encoding`系统属性所指定的编码,这通常是与操作系统一致的编码。当这个编码与源文件的实际编码不匹配时,编译后的class文件中的中文...

    JAVA中文乱码深度分析

    - 当程序需要输出中文字符时,JVM会将Unicode转换为操作系统支持的编码(如GBK)输出到控制台或文件。 - 输入时,操作系统读取GBK编码的数据,JVM再将其转换回Unicode以便处理。 解决Java中文乱码问题通常涉及...

    Myeclipse Tomcat 控制台乱码设置

    - 对于某个具体的文件,如`Test.java`,右键点击该文件,在弹出的菜单中选择`Properties` > `Resource` > `Text File Encoding`。 - 在这里也可以设置该文件的编码方式,如设置为`UTF-8`。 #### 三、解决Tomcat...

    SpringMVC Tomcat控制台乱码问题解决方案

    在使用SpringMVC框架开发Web应用程序时,经常会遇到乱码问题,例如在Tomcat控制台中输出的中文字符变成乱码。这是因为Tomcat的控制台默认使用的字符编码是GBK,而SpringMVC框架使用的字符编码是UTF-8。因此,当我们...

    Java开发中文乱码问题解决

    2. **控制台输出**:可以使用`System.setProperty("file.encoding", "UTF-8")`来设置Java虚拟机的默认编码,但这可能会影响其他部分的编码处理。更安全的做法是在输出时显式指定编码: ```java System.out.println...

    Java 中文乱码问题

    2. **控制台输出乱码**:当Java程序在控制台打印中文字符时,如果控制台的编码不匹配,也会出现乱码。可以通过设置Java启动参数`-Dfile.encoding=UTF-8`来指定JVM使用的字符编码。 3. **读写文件乱码**:读写文本...

    解决Linux操作系统下Java的中文乱码问题

    5. **处理系统输出**:控制台输出的乱码可能需要修改终端的字符集设置,或者在Java中使用`System.setProperty("console.encoding", "UTF-8")`。 6. **处理网页和网络数据**:在HTTP请求和响应中正确设置`charset`,...

    解析Java中文乱码的处理方法

    Java编程语言在处理中文字符时,可能会遇到乱码问题,这通常是由于编码设置不正确或者在数据读写过程中没有统一编码格式导致的。本篇文章将深入探讨Java中处理中文乱码的各种方法,帮助开发者有效解决这类问题。 ...

    解决IDEA2020控制台乱码的方法

    然而,在使用IDEA2020时,开发者经常会遇到控制台乱码的问题,这使得开发者无法正确地输出日志和错误信息,从而影响开发效率。 二、解决方法 解决IDEA2020控制台乱码问题的方法主要有两种:修改IDEA安装目录下的...

Global site tag (gtag.js) - Google Analytics