`

System.getProperty("file.encoding") 究竟获取的是什么编码

 
阅读更多

一般是获取编译main class的文件编码,但是这个编码是由容器或者jvm来决定的,
所以一定要设置tomcat/jetty等容器的编码为utf-8


场景1——修改JVM系统字符集
 
系统默认的字符集是指,JVM运行时调用java.nio.Charset.defaultCharset().displayName()所显示的字符集。我们有如下几种方式更改JVM在运行时的系统字符集:

方法1
Properties pps=System. getProperties();
pps.put("file.encoding","<your-charset>");
System.setProperties(pps);
方法2
System.setProperty("file.encoding","<your-charset>");
方法3
java   -D file.encoding=<your-charset>

上表中尖括弧斜体部分应该替换为你想要的字符集。
需要注意的是,如果是在运行时更改了字符集,那么再调用java.nio.Charset.defaultCharset().diaplayName()可能并不会变,因为Charset源码对default charset做了内容缓存,具体可查看Charset源码

最重要的是 讲 vm arguments 设置为  -Dfile.encoding=UTF-8

http://blog.51cto.com/9797337/1767774



  • 大小: 69.7 KB
  • 大小: 61.7 KB
分享到:
评论

相关推荐

    J2ME 常用的一些API

    - **获取字符编码**:`System.getProperty("microedition.encoding")`,这对于处理文本数据非常重要,特别是涉及到国际化内容时。 - **获取设备语言和地区设置**:`System.getProperty("microedition.locale")`,这...

    java 中file.encoding的设置详解

    System.out.println(System.getProperty("file.encoding")); ``` 然而,需要注意的是,一旦JVM启动并初始化完毕,尝试通过`System.getProperties().setProperty("file.encoding", "new_charset")`来修改`file....

    获取系统中各变量

    - `file.encoding`:系统默认的文件编码。 - `java.class.path`:类路径,用于查找Java类和资源。 ### 五、应用示例 在实际开发中,了解和利用系统属性可以帮助我们实现以下功能: - 根据不同的操作系统定制程序...

    SystemPropertiesJava:系统属性Java

    Java系统属性也涉及字符编码,例如`System.getProperty("file.encoding")`返回默认的文件编码,这对于处理跨平台的文本数据至关重要。 7. **安全性与权限** 一些系统属性涉及到安全性和权限,比如`java.security....

    深入分析 Java 中的中文编码问题

    可以通过`System.getProperty("file.encoding")`获取当前系统默认编码。 2. String对象:String类在内部使用Unicode编码,无论其原始数据是什么编码,都会转换为Unicode存储。 三、InputStreamReader与...

    servlet3.0新特性源代码

    System.out.println(System.getProperty("user.dir"));//输出当前的项目存放的路径 String uploadPath=req.getSession().getServletContext().getRealPath("/upload"); System.out.println(uploadPath);//输出...

    java繁体中文处理完全攻略--简体中文参照操作即可.docx

    String enc = System.getProperty("file.encoding"); System.out.println(enc); } } ``` 六、常见的繁体中文编码方式 * Big5:这是繁体中文 de facto 标准。 * CNS11643:台湾的官方标准繁体中文编码。 * Cp937...

    java中的编码知识

    1. **System.getProperty("file.encoding")**:Java系统属性中,"file.encoding"代表默认的文件编码,但需要注意的是,这个值可能不总是与实际操作系统一致。为了确保正确性,最好在处理文件时显式指定编码。 2. **...

    Java编程中的中文问题.pdf

    在Java代码中,可以通过System.getProperty("file.encoding")方法获取当前JVM使用的默认字符编码。这种编码方式对文件I/O操作有着直接影响。如果需要对特定的文件进行特定编码格式的读写,Java提供了字符流(如...

    JAXB乱码问题解决

    可以通过`System.getProperty("file.encoding")`获取当前环境的默认编码。 总之,处理JAXB的乱码问题主要涉及两方面: 1. 反序列化时,确保使用正确的编码读取XML文件。 2. 序列化时,指定正确的编码,使生成的XML...

    BlackBerry视频录制编程

    - 使用 `System.getProperty("video.encodings")` 方法可以获取当前设备支持的所有视频规格字符串。 - 如果该设备不支持任何视频编码,则返回值为 `null`。 - 返回的字符串格式是这样的:“encoding=video/3gpp&...

    Properties和xml读写操作

    然后,使用 `load` 方法将数据加载到 `Properties` 对象中,并通过 `getProperty` 方法获取指定键对应的值。 #### 2. 读取整个 Properties 文件 如果想要读取整个 Properties 文件中的所有键值对,可以使用以下...

    java中文乱码问题

    这个编码类型我们可以在 Java 中使用 System.getProperty("file.encoding") 来查看。所以 javac 会默认使用 GBK 来解析 Java 文件。如果我们要改变 javac 所用的编码类型,就要加上-encoding 参数,如 javac -...

    Java中文问题及最优解决方法

    String encoding = System.getProperty("file.encoding"); System.out.println(encoding); } } ``` 编译并运行这个程序,可以查看当前操作系统的默认文件编码格式。如果需要修改文件的编码格式,可以在编译时指定...

    HTMLParser使用详解.doc

    System.out.println(new String(szMsg.getBytes(ENCODE), System.getProperty("file.encoding"))); } catch (Exception e) {} } public static String openFile(String szFileName) { try { BufferedReader ...

    JSPSmartUpload上传文件乱码解决纪实+UploadBean上传解决方案

    开发者试图通过System.getProperty("file.encoding")获取系统默认编码,发现是ANSI_X3.4-1968,这实际上是ASCII编码,对于处理中文字符并不适用。 在尝试多种方法未果后,开发者考虑修改SmartUpload的源代码,但...

    J2ME Property属性表E.doc

    在J2ME(Java 2 Micro ...在实际开发过程中,开发者可以通过`System.getProperty()`方法获取这些属性的值,以便进行条件判断和功能适配。通过这种方式,J2ME应用程序可以在全球范围内的众多设备上实现广泛兼容性。

    详解Java中String类型与默认字符编码

    我们可以使用System.getProperty("file.encoding")来获取本地系统的编码方式。例如,在Windows系统中,输出结果可能是GBK,而在Linux系统中,输出结果可能是UTF-8。 String类型的getBytes()方法 String类型的...

Global site tag (gtag.js) - Google Analytics