正在阅读:开动脑筋:Java字符丢失的解决办法开动脑筋:Java字符丢失的解决办法

2004-12-31 15:04 出处: 作者:daimoon 责任编辑:linjixiong

  3.       解决办法
  最理想的解决办法就是由SUN修正此BUG。此问题早在2003年11月即提出,但是直到目前(2004/12/30),问题状态仍为“In process, bug”。

  替代的解决方案主要思路是避开GB18030编码,主要有两种方法

  改变操作系统默认编码方案

  对于unix/linux平台,修改操作系统编码方案很简单。如在solaris平台下,运行如下命令即可改变系统编码:

  LANG=zh.GBK;export LANG

  对于windows平台,修改操作系统中文默认编码比较复杂。尝试把操作系统的“区域和语言选项”更改为其它地区,选用其它语言,都没有效果。与微软客户服务联系,也不能提供相应解决方案。

  运行java应用时指定默认编码

  在运行基于JAVA的应用时,加上参数:

  java –Dfile.encoding=GB2312

  把java应用的默认编码方案与GB2312硬绑定,即在未指明编码方案时,采用GB2312编码。

  如果针对每个应用,进行上述修改,工作量很大。有些应用里面又隐式调用外部JAVA应用,更增加修正的难度。比较可行的办法是对java的运行文件进行修正,令其在运行时自动加上“-Dfile.encoding=GB2312”参数。

  建议windows平台采用本方法进行修正。方案如下:

  1、改名原java.exe,javaw.exe,如改为javabak.exe,javawbak.exe

  2、重写java.exe和javaw.exe,令其运行时调用javabak.exe,javawbak.exe,并在运行时加上“-Dfile.encoding”参数。

  如下c代码即可完成上述功能:


  #include "string.h"

  #include "stdlib.h"

热点推荐: 
教你如何成为一名Java初级程序员变态级JAVA程序员面试32问(附答案)
将Asp.Net页面输出到EXCEL里去读书笔记:程序员的个人性格
Java编程学习:自己DIY一个JSP日历Java 的破解和反破解之道
网页编程必看:XML文法分析设计模式的有趣解释-追MM

察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品