当前位置: 代码迷 >> Java相关 >> [求助]请教UTF-8编码问题
  详细解决方案

[求助]请教UTF-8编码问题

热度:135   发布时间:2007-10-14 14:17:40.0
[求助]请教UTF-8编码问题
最近遇到一个问题,就是我从一个文件中读出日文的UTF-8编码,然后在控制台打印,但是打印出来的是乱码。具了解,UTF-8是支持日文的,照理说读出来都不用做什么编码转换就可以正常显示日文(我个人的看法,不知道对不对)。不过我也试过用new String(str.getByte("shift_jis"),"UTF-8")将取出来的编码进行转换,但结果还是乱码。请问各位大虾有没什么好的解决方法?谢谢
搜索更多相关的解决方案: 编码  

----------------解决方案--------------------------------------------------------
你是怎么读文件到字符串的?
----------------解决方案--------------------------------------------------------
请问楼上,这个有很大关系吗?如果有影响的话,怎样读文件到字符串才不会是乱码呢?
----------------解决方案--------------------------------------------------------
不仅是有关系,而且是决定性的
----------------解决方案--------------------------------------------------------
locale=new Locale("ja","JP");
ResourceBundle w1 = ResourceBundle.getBundle(HOLIDAY_FILE_NAME, locale);
String key1 = "";
Enumeration enum1 = w1.getKeys();
String temp=null;
while(enum1.hasMoreElements())
{
key1 = enum1.nextElement().toString();
temp+=w1.getString(key1); }
这是我取出UTF-8编码的主要代码
----------------解决方案--------------------------------------------------------
你可以试着将得到的字符串再通过下面的方式处理一下:
new String(str.getBytes("ISO-8859-1"), "GBK");
----------------解决方案--------------------------------------------------------

弄错了,应该是new String(str.getBytes("ISO-8859-1"), "UTF-8");


----------------解决方案--------------------------------------------------------

我也试过,而且也试过了new String(str.getBytes("shift_jis"), "UTF-8"); 结果还是乱码


----------------解决方案--------------------------------------------------------
首先,你确定你文件的编码是UTF-8?
其次,你确定你试过了new String(str.getBytes("ISO-8859-1"), "UTF-8");

----------------解决方案--------------------------------------------------------
版主这种风格我非常喜欢,我可以肯定回答说非常确定
----------------解决方案--------------------------------------------------------
  相关解决方案