系统属性file.encoding在JVM启动后,再次设置无法对系统的默认编码造成影响

原因和解决方法:

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4163515

https://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding/362006#362006

file.encoding由谁设置?

  首先file.encoding是一个系统属性。可以在启动JVM 前设置 如:

  java -Dfile.encoding=UTF-8 xxx.class

  还有一种方法是改变操作系统的编码,因为在JVM启动时如果没有设置此属性时,默认采用的就是操作系统

  的编码方式。

原文地址:https://www.cnblogs.com/yvkm/p/11469298.html

时间: 2024-08-12 18:45:24

系统属性file.encoding在JVM启动后,再次设置无法对系统的默认编码造成影响的相关文章

系统变量file.encoding对Java的运行影响有多大?(转)good

这个话题来自: Nutz的issue 361 在考虑这个issue时, 我一直倾向于使用系统变量file.encoding来改变JVM的默认编码. 今天,我想到, 这个系统变量,对JVM的影响到底有多大呢? 我使用最简单的方法看看这个变量的影响--在JDK 1.6.0_20的src.zip文件中,查找包含file.encoding字眼的文件. 共找到4个, 分别是: 先上重头戏 java.nio.Charset类: public static Charset defaultCharset() {

java虚拟机jvm启动后java代码层面发生了什么?

java虚拟机jvm启动后java代码层面发生了什么? 0000 我想验证的事情 java代码在被编译后可以被jdk提供的java命令进行加载和运行, 在我们的程序被运行起来的时候,都发生了什么事情, 下面就来探究下这个问题, 这个问题被拆成了两个问题, 第一个问题用来确定发生了哪些事情, 第二个问题用来确定这些事情是如何进行的. java进程里面都发生了哪些活动? 这些活动在java代码(反编译或者是源码)级别有所体现吗? 0001 寻找验证的方式 当我在探究上面两个问题时, 我想了很多方式去

jvm file.encoding 属性引起的storm/hbase乱码

1. 问题 今天为storm程序添加了一个计算bolt,上线后正常,结果发现之前的另一个bolt在将中文插入到hbase中后查询出来乱码.其中字符串是以UTF-8编码的url加密串,然后我使用的URLDecoder.decode(str, "UTF-8")解码,最后插入到hbase中. 2. 排查 (1)hbase中的数据传输都是使用的UTF-8,因此肯定不会出问题,故排除hbase端的问题: (2)既然在测试的时候没乱码,线上却乱码,想到肯定是线上机子jvm环境的问题: (3)确定了

Confluence 6 识别系统属性

Confluence 支持一些可以从 Java 系统属性中配置的配置参数和调试(debugging )设置.系统属性通常是使用 -D 为参数选项,这个选项是 Confluence 在运行后设置到 JVM 虚拟机中的.请参考:Configuring System Properties 页面中的内容来获得更多的信息. 开始版本 默认值 模块... 作用和影响 atlassian.forceSchemaUpdate 1.0 false atlassian-config 在默认的情况下,Confluen

Android 系统属性SystemProperty分析

http://www.cnblogs.com/bastard/archive/2012/10/11/2720314.html Android System Property 一 System Property 代码中大量存在:SystemProperties.set()/SystemProperties.get():通过这两个接口可以对系统的属性进行读取/设置, 顾名思义系统属性,肯定对整个系统全局共享.通常程序的执行以进程为单位各自相互独立,如何实现全局共享呢? System Properti

Eclipse jvm启动参数在哪设置

学习并转载自https://jingyan.baidu.com/article/624e7459653ca534e8ba5a26.html Java是一门非常受欢迎的编程语言,Java的开发人员多数使用Eclipse作为自己的IDE, 在代码调试的过程中有时会遇到内存不足的错误,有没有办法手动指定JVM的启动 参数呢?所以今天笔者和大家分享下"jvm启动参数在哪设置",希望能给大家带来一些帮助. ①打开Eclipse ②创建一个类,编写一段演示用的代码,在代码编辑区右键单击,依次选择[

修改Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析

简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改Android系统属性执行关机操作,例如adb shell setpro sys.powerctl shutdown,这里我们简单介绍下修改Android属性关机的原理或流程. native_set()<SystemProperties.java>--->SystemProperties_set(

Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8

一切都是windows的控制台默认编码GBK问题 情景: 使用jenkins构建,console 输出的中文乱码.代码编码格式是utf-8,因为Jenkins会默认读取当前系统的编码格式,导致构建日志乱码和selenium自动化测试输入的中文乱码. 控制台输出乱码 摸索 不能忍,果断百度一下,按照设置全局配置那里设置LANG :zn_CH.utf-8 无效. 在jenkins下的jenkins.xml设置什么启动为utf-8也是无效. 但是查找资料期间发现,jenkins系统管理的系统信息  想

[转] ASP.NET WEB API程序在VS启动或发布到IIS后启动后发生 - Could not load file or assembly &#39;System.Web.Http.WebHost’异常,无法正常访问

Just do Copy Local = true in the properties for the assembly(System.Web.Http.WebHost) and then do a redeploy, it should work fine. http://stackoverflow.com/questions/20323107/could-not-load-file-or-assembly-system-web-http-webhost-after-published-to-