有没有办法在运行时更新java中的默认字符集编码?谢谢,在java中运行时更新默认的字符集编码?
0
A
回答
4
不,没有切实可行的方法来改变它。例如,在OpenJDK中,当虚拟机启动并且它被存储在Charset
类的私有静态字段中时,几乎从file.encoding
系统属性读取默认字符集。如果你需要使用不同的编码,你应该使用允许指定编码的类。
您可以通过反射改变私人领域来破解自己的路。这是你可能尝试的东西,如果你真的,真的,没有其他选择。您将代码定位到特定JVM的特定版本,并且它可能不适用于其他版本。这是你如何改变当前版本的OpenJDK的默认字符集:
import java.nio.charset.Charset;
import java.lang.reflect.*;
public class test {
public static void main(String[] args) throws Exception {
System.out.println(Charset.defaultCharset());
magic("latin2");
System.out.println(Charset.defaultCharset());
}
private static void magic(String s) throws Exception {
Class<Charset> c = Charset.class;
Field defaultCharsetField = c.getDeclaredField("defaultCharset");
defaultCharsetField.setAccessible(true);
defaultCharsetField.set(null, Charset.forName(s));
// now open System.out and System.err with the new charset, if needed
}
}
相关问题
- 1. 更改默认字符集
- 2. Android默认字符编码
- 3. Java中,默认编码
- 4. 如何删除Perl中的CGI默认元字符集编码?
- 5. 重新编译并在运行时重新运行Java代码
- 6. 更改默认字符集拉丁
- 7. 从终端运行,更改字符编码!我认为。 (UBUNTU)
- 8. 的Java NIO字符集编码解码
- 9. 在Java中确定平台的默认字符集
- 10. 新泽西/ REST默认的字符编码
- 11. MySQL默认字符集
- 12. 如何将默认的字符串编码更改为UTF 8?
- 13. 变更集中字段的默认值
- 14. Typo3中的默认字符集ext_tables.sql
- 15. 运行Java代码时出错(未知字符集:'utf8mb4')?
- 16. 的Java的InputStream编码/字符集
- 17. 在java中运行时得到变量的默认值
- 18. jqGrid更新表/默认更新时默认“加载”消息
- 19. 在Java Web应用程序中为所有jsps设置默认字符编码
- 20. 在Heroku中将UTF-8设置为默认字符串编码
- 21. 更新Outlook 2002中的默认字体
- 22. AspxGridview更新行默认值
- 23. 导轨迁移更改默认值与新行字符列
- 24. 更改记事本++的默认编码
- 25. 更改RubyMine的默认编码?
- 26. 如何设置默认的字符集?
- 27. 定义htmlentities的默认字符集()
- 28. 默认字符集的重要性
- 29. 什么是默认的VB6字符集?
- 30. 更改Java printf中的默认填充字符?
你试过搜索它吗?重复? http://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding – 2012-02-14 19:32:17