`
lveyo
  • 浏览: 915298 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Windows Eclipse下潜在的文件编码问题

    博客分类:
  • JAVA
阅读更多
如果你和我一样,在Windows下用Eclipse开发Java程序,尤其是Web程序,为了防止乱码问题,都习惯于将默认的文件编码设置为“UTF-8”。
BTW,设置默认文件编码的方法:

Java代码文件和其他文本文件:Windows->Preferences->General->Wordspace->Text file encoding


css,jsp,html文件:Windows->Preferences->Web->CSS Files/HTML Files/JSP Files


经过以上的设置之后,在Eclipse下新建文件都默认采用UTF-8编码,但是问题出现了,用下面这段java代码测试一下Windows系统的默认文件编码和在Eclipse中默认的文件编码分别是什么。
package com.lveyo.java.lite.system;

import java.util.Properties;

public class SystemProperties {
	public static void main(String[] args) {
		Properties props = System.getProperties();
		System.out.println("Java Version: " + props.getProperty("java.version"));
		System.out.println("Java Vendor: " + props.getProperty("java.vendor"));
		System.out.println("JVM Version: " + props.getProperty("java.vm.version"));
		System.out.println("Java Specification Version: " + props.getProperty("java.specification.version"));
		System.out.println("OS name: " + props.getProperty("os.name"));
		System.out.println("OS architecture: " + props.getProperty("os.arch"));
		System.out.println("OS Version: " + props.getProperty("os.version"));
		System.out.println("File Encoding: " + props.getProperty("file.encoding"));
		System.out.println("User Language: " + props.getProperty("user.language"));
	}
}


在Eclipse下直接运行这段程序,结果为:
Java Version: 1.6.0_24
Java Vendor: Sun Microsystems Inc.
JVM Version: 19.1-b02
Java Specification Version: 1.6
OS name: Windows 7
OS architecture: x86
OS Version: 6.1
File Encoding: UTF-8
User Language: zh


直接将此段程序在Windows命令行下执行,结果为:
D:\LiteJava\bin>java com.lveyo.java.lite.system.SystemProperties
Java Version: 1.6.0_21
Java Vendor: Sun Microsystems Inc.
JVM Version: 17.0-b16
Java Specification Version: 1.6
OS name: Windows 7
OS architecture: x86
OS Version: 6.1
File Encoding: GBK
User Language: zh


我几乎测试了所有中文版的Windows操作系统,默认编码都是GBK。

问题的产生:
运行的结果发现,程序在命令行下运行文件编码变为GBK,也就是说如果开发的程序部署到Windows主机的服务器下,那么默认的文件编码是GBK的,虽然页面JSP文件也是用UTF-8显示,系统自身不会产生乱码问题,但是若开发与其它系统对接的程序,如网上支付等,需要传中文到其他系统的时候就会出现开发环境和生成环境文件编码不同产生的乱码问题。

解决方案:

  1. 将开发和生产环境都迁移到Linux下,全部采用UTF-8编码。各个系统之间也统一采用UTF-8编码,各种语言各种文字都不会产生乱码,这也是比较彻底的解决方案。
  2. 在Windows下运行,可以在命令行加参数“-Dfile.encoding=UTF-8”,来修改默认的文件编码。

1
0
分享到:
评论
1 楼 魂魄魔君 2011-10-21  
  

相关推荐

    eclipse插件findBugs

    "Eclipse插件FindBugs"是一个用于静态代码分析的强大工具,旨在帮助开发者在运行程序之前发现潜在的bug和代码质量问题。Eclipse是一个广泛使用的Java集成开发环境(IDE),而FindBugs插件则为其增添了一个重要的功能...

    Eclipse for PHP 编码设置.docx

    此外,Eclipse还提供了其他与编码相关的设置,如文件编码检测策略、自动转换编码等,可以根据具体需求进行调整。通过合理的编码配置,可以确保在开发过程中,代码始终以一致且安全的方式呈现,减少潜在的问题和冲突...

    eclipse插件properties

    1. **编码支持**:插件会自动识别或允许你指定正确的文件编码,如UTF-8,以确保中文字符正确显示。 2. **语法高亮**:对键值对进行高亮显示,提高代码可读性。 3. **自动缩进**:自动格式化键值对,保持代码整洁。 4...

    eclipse最佳设置

    **问题背景:** 在使用Eclipse进行Java开发时,经常会遇到中文乱码的情况,这主要是因为文件编码设置不当导致的。 **解决方案:** 1. **全局编码设置:** - 打开Eclipse,依次点击`Window` -> `Preferences` -> `...

    parasoft jtest 9.4 安装文件以及破解 eclipse插件

    它能帮助开发者在编码阶段就发现并修正问题,从而提高软件质量并缩短开发周期。 #### 二、parasoft jtest 9.4安装教程 ##### (一)准备工作 1. **下载安装包**:确保从官方或可靠渠道获取最新版本的parasoft ...

    eclipse的goclise插件gocode

    5. 将生成的gocode可执行文件移动到你的PATH环境变量包含的目录下,以便Eclipse可以找到并使用它。 安装完成后,你需要在Eclipse中配置GoClipse插件,使其与gocode集成。这通常涉及以下步骤: 1. 打开Eclipse,...

    Eclipse使用方法(详细操作)

    此外,Eclipse还有强大的错误检测和警告提示,可以在编码阶段就发现潜在问题。 运行Java程序,可以在项目上右键选择"Run As" -> "Java Application",Eclipse会自动构建并运行主类。如果需要调试,可以使用"Debug ...

    Java开发工具(eclipse)

    - `eclipse-inst-win64.exe` 是Eclipse的Windows 64位安装程序,用户只需运行该文件,按照向导指示进行操作,选择安装路径和所需组件,即可完成安装。 2. **工作区与工作台** - Eclipse基于工作区(Workspace)的...

    Eclipse精要与高级开发技术.pdf

    2. **动态代码分析**:Eclipse支持在编码过程中对代码进行实时检查,帮助开发者及时发现潜在的问题。 3. **多平台支持**:除了支持Windows操作系统外,Eclipse还支持Linux、Mac OS等操作系统,使得开发人员可以在...

    白痴都能看懂的Java教程(第二章:Eclipse的安装使用以及人生第一个Java项目实战)

    1. 下载Eclipse安装包,文件名为eclipse-inst-win64.exe,适用于64位Windows系统。 2. 双击eclipse-inst-win64.exe启动安装向导。 3. 选择合适的Eclipse版本,通常推荐选择Eclipse IDE for Java EE Developers,这...

    eclipse配置spket

    进入"Eclipse Preferences"(Windows系统下是"Window" -> "Preferences",Mac系统下是"Eclipse" -> "Preferences"),找到"Spket"或"JavaScript"相关设置,配置所需的JavaScript库。这样,Spket就能识别这些库中的...

    eclipse-qt-integration

    在Windows 10环境下,安装Eclipse Qt集成插件的过程相对简单。首先,你需要下载对应的安装文件,例如 "eclipse-qt-integration-1.6.1.exe"。运行这个可执行文件,按照安装向导的步骤进行操作,确保Eclipse IDE已经...

    eclipse-inst-win64.exe 2018年10月版

    改进了代码分析工具,帮助开发者发现潜在的问题和代码异味;还加强了对Git版本控制的支持,使得团队协作更为顺畅。 除此之外,Eclipse的 Marketplace 是一个宝藏,其中包含了数以千计的插件,涵盖了从代码质量检查...

    eclipse-jee-2022-06-M2-win32-x86_64.zip

    8. **代码质量检查**:通过插件如Checkstyle和SonarQube,Eclipse可以帮助开发者遵循编码规范,发现潜在的代码质量问题,提升代码质量。 9. **多语言支持**:虽然主要面向Java,Eclipse也支持其他编程语言,如C/C++...

    findbug eclipse插件

    FindBugs是一款强大的静态代码分析工具,...总之,FindBugs Eclipse插件是提升代码质量、减少潜在错误的重要工具,它通过集成到开发环境中,帮助开发者在编码阶段就发现和修复问题,从而提高了软件的稳定性和可靠性。

    2014最新Eclipse开发环境搭建

    7. FindBugs - 用于找出Java代码中的潜在问题。 四、开发环境优化建议: 1. 配置Eclipse中的编码格式,一般为UTF-8,以确保跨平台的字符兼容。 2. 设置合适的内存大小来运行Eclipse,通过修改eclipse.ini文件中的...

    Eclipse 配置文档

    - 默认情况下,Eclipse创建的JSP、XHTML文件的编码可能不支持中文,如ISO-8859-1。要支持简体中文,需要将编码设置为GBK、GB2312或UTF-8(推荐)。这可以通过Window -> Preferences -> Web -> JSP Files -> ...

    Java编辑工具eclipse

    2. **解压与启动**: 下载完成后,通常是一个.zip或.tgz文件,将其解压缩到你希望存放的目录,然后找到`eclipse.exe`(Windows)或`eclipse`(Linux/Mac)可执行文件并双击启动。 3. **配置Java环境**: 在运行...

Global site tag (gtag.js) - Google Analytics