`

JVM启动时指定-Dfile.encoding="UTF8"的作用

 
阅读更多

简单来说就是指定JVM默认的编码方式

java io中很多方法,如果你不指定具体的编码方式,就会从这个属性取得 file.encoding 但是后来(由于bug) 查看了jdk的一些实现,发现有些方法不管你指定编码与否都会从 file.encoding取编码方式,就是说是jdk的bug 当时发现的是JDK 1.5的某个版本有这个问题



因为jdk默认字符编码是操作系统的编码,中文的系统自然就是gbk了

你的这段代码就是使用的操作系统的默认编码
new BufferedWriter(response.getWriter()); 因为没有指定字符编码,默认编码为gbk

-Dfile.encoding就是用来改变jdk处理文件等的默认字符编码

如果你程序中使用
OutputStreamWriter(OutputStream out,String charsetName)这个去包装,就可以指定编码,而不是用默认的编码

分享到:
评论

相关推荐

    eclipse默认编码GBK改为UTF-8

    - 在`-vmargs`行之前添加两行,设置Java启动参数来指定JVM的文件编码为UTF-8: ``` -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en ``` 这些参数告诉JVM使用UTF-8编码,并设定用户的国家和地区...

    解决Invalid byte 1 of 1-byte UTF-8 sequence

    OPTS -Dfile.encoding=UTF8.png":这表明了解决方案可能涉及修改Tomcat的启动脚本`catalina.bat`,通过设置`JAVA_OPTS`环境变量,指定`-Dfile.encoding=UTF8`来确保Java虚拟机(JVM)使用UTF-8编码。 2. "xml读取...

    tomcat源码分析

    分析这个脚本可以帮助我们理解Tomcat如何配置JVM、设置classpath、启动和停止服务等操作,这对于自定义Tomcat启动参数或者调试启动问题非常有用。 7. **编写批处理文件** 掌握批处理文件的编写技巧,可以创建...

    springboot乱码问题解决方案

    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> 这将设置Maven插件的字符编码为UTF-8,解决乱码问题。 三、示例代码 以下是一个简单的示例代码,演示如何在SpringBoot项目中解决乱码问题: @...

    【IDEA】 控制台中文乱码解决(csdn)————程序.pdf

    通过添加-Dfile.encoding=UTF-8VM选项,可以强制IDEA使用UTF-8编码格式输出结果。同时,设置Global Encoding、Project Encoding、Default encoding for properties files为UTF-8,可以确保整个项目中的编码一致性。 ...

    IDEA Tomcat设置启动参数,环境变量

    需求场景: 项目整合调用第三方系统的接口时,第三方系统...注意:VM options 需要以 -D 或 -X 或 -XX 开头,每个参数最好使用空格隔开, 例如这样的配置信息:-Dspringboot.profiles.active=dev-Dfile.encoding=UTF-8

    idea output 乱码.docx

    其中,`-Dfile.encoding=UTF-8`这一行非常重要,它指定了JVM启动时的文件编码格式为UTF-8,能有效防止中文乱码。 2. **配置项目使用的容器参数**: 如果你的应用是运行在如Tomcat这样的服务器容器上,你需要确保...

    WEBSPHERE乱码问题的解决和处理

    - **-Dfile.encoding=UTF-8**:设置文件系统的字符编码,这对于读写文件时非常关键。 - **-Duser.language=zh -Duser.country=CN**:设置用户的语言和地区,这对于国际化的应用尤为重要。 - **-Djava.util.logging....

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

    -Dfile.encoding=utf-8 ``` 这行命令告诉Java虚拟机(JVM)使用UTF-8编码来处理文件,包括标准输入输出和错误流,从而确保控制台输出的中文字符能正确显示。 接下来,我们需要设置IDEA自身的文件编码。在IDEA的...

    加快AS编译的方法.docx

    - `org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8`:这一行用于指定JVM参数。其中: - `-Xmx2048m` 表示最大堆内存大小为2GB。 - `-XX:MaxPermSize...

    tomcat 下catalina.out 日志乱码问题处理

    `-Dfile.encoding=UTF-8`指示JVM使用UTF-8编码处理文件,包括日志输出;`-Dsun.jnu.encoding=UTF-8`则是设置JNI(Java Native Interface)使用的编码,它会影响JVM与操作系统之间的字符编码转换。 执行这个修改后,...

    tomcat在linux下的详细配置

    在`$CATALINA_HOME/bin/catalina.sh`脚本中,找到`CATALINA_OPTS`变量,添加或修改如下行来指定JVM堆大小: ```bash CATALINA_OPTS="-Xms1024m -Xmx2048m -XX:MaxPermSize=512m" ``` 这里,`-Xms`和`-Xmx`分别设定...

    DDLTask.rar

    6. **JVM设置**:确保Java虚拟机(JVM)的默认编码也是UTF-8,这可以通过在启动JVM时添加`-Dfile.encoding=UTF-8`参数实现。 除了上述方法,有时问题可能出在编译后文件上。"DDLTask.rar"这个压缩包可能包含了用于...

    在websphere中设置解决中文显示乱码问题

    `-Dfile.encoding=UTF-8`用于指定文件系统的字符编码;`-Duser.language=zh`和`-Duser.region=CN`则用于指定用户的语言和地区。 4. **保存并重启服务器**: - 完成配置后保存更改,并重启Websphere应用服务器以使...

    weblogic部署项目乱码解决

    通过添加`-Dfile.encoding=utf-8`参数,可以确保WebLogic服务器使用UTF-8字符集处理文件。这一步骤对解决文件读写过程中的乱码问题非常有效。 ##### 3.2 修改`setDomainEnv.cmd`文件 - **位置**:同上。 - **操作**...

    IBM JVM参数选项

    - 示例:`-Dfile.encoding=UTF-8` - **-Dcom.ibm.dbgmalloc**: 启用此参数以获取更详细的堆内存分配信息。 - **-Dcom.ibm.jsse2.renegotiate**: 控制Java安全套接层(JSSE)的重新协商行为。自Java 6 SR9起,启用...

    解决JSP中文显示问题的几个方法

    -Dfile.encoding=utf-8 -Dclient.encoding.override=utf-8 -Ddefault.client.encoding=utf-8 ``` 通过以上几种方法,可以有效地解决JSP页面中文显示问题。在实际应用中,开发者可以根据具体情况选择最合适的方式。...

    Ofbiz 和 Mysql中文乱码解决方法.docx

    在`startofbiz.bat`文件中,添加`-Dfile.encoding=UTF-8`作为Java启动参数,这将设定JVM的默认文件编码为UTF-8: ```bash "%JAVA_HOME%\bin\java" -Xms128M -Xmx512M -XX:MaxPermSize=128m -Dfile.encoding=UTF-8 ...

    java.exe和javaw.exe的区别及使用方法

    Java开发环境中,我们经常遇到两个命令行工具:`java.exe`和`javaw.exe`,它们都是Java虚拟机(JVM)的一部分,用于执行Java应用程序。然而,它们之间存在一些关键的区别,这些差异主要体现在控制台输出和窗口行为上...

Global site tag (gtag.js) - Google Analytics