为什么在JavaBean不能中文转换?急!解决马上给分 你如果这样可以吗?System.out.println(new String(str.getBytes("ISO8859_1"),"GBK")); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果在JavaBean中声明:String str="东北";要达到下面的效果 我怎么办:在JavaBean进行转换,用System.out.println(str);输出并且输出的结果不是乱码。我用了以下方法也不行。str=new String(str.getBytes("ISO8859_1"));不好意思我着急 语句不通过:)请多包涵! public String tochinese(String str) { try { if (str==null) { return ""; } else { str=new String(str.getBytes("ISO8859_1"),"GBK"); return str; } }catch (Exception e){return null; } }String str="东北";str=tochinese(str); To :8088 这种方法我试过了 不行的,要不你在 javabean中试试 public class test{public static String tochinese(String str) { try { if (str==null) { return ""; } else { str=new String(str.getBytes("ISO8859_1"),"GBK"); return str; } }catch (Exception e){return null; } }public static void main(String[] args){String str="东北";str=tochinese(str);System.out.println(str); }}编译的时候用javac test.java -encoding 8859_1 运行用java test 试试 没明白你的意思,我在我的BEAN里,String aa="东北";System.out.println(aa);可以看到输入的是“东北”,没有乱吗啊。 Don't try to use ISO8859_1. String temp_p=str; byte[] temp_t=temp_p.getBytes("GBK"); String temp=new String(temp_t,"GBK"); return temp; To 8088 要不把你的代码贴出来 谢谢:To nc201 你说的 javac test.java -encoding 8859_1 运行用java test 我不怎么会用这个 :)不好意思。能不能只在javabean中实现。我用你写的代码 输出的也是乱码。是不是我有什么包或者别的没有引用啊。 To ChunLei 我的 问题解决了谢谢! 最后我想问一 下 什么时候用GBK 什么时候用"ISo8859_1"? 晕,没有乱码就不用转换,再转换成gbk好像要报错, To nc201我问的就是你上面所告诉我的啊。只是你说的那种方法我没用过所以有的不明白啊 。(javac test.java -encoding 8859_1 运行用java test )public static String tochinese(String str) { try { if (str==null) { return ""; } else { str=new String(str.getBytes("ISO8859_1"),"GBK"); return str; } }catch (Exception e){return null; } }public static void main(String[] args){String str="东北";str=tochinese(str);System.out.println(str); }他输出的结果有乱码啊,我就是为了解决这个问题。 最后我想问一 下 什么时候用GBK 什么时候用"ISO8859_1"?过一会马上结分谢谢各位! 参与者有都有 如果你用 String temp_p=str; byte[] temp_t=temp_p.getBytes("GBK");//把temp_p按GBK的格式读出 String temp=new String(temp_t,"GBK");//然后又把temp_t转换成GBK的格式 return temp;这就相当于什么都没有做,你要的是这种结果??8859_1与GBK都是文件的编码方式,中文WINDOWS对文件的默认编码方式是GBK,而LINUX一般是8859_1,所以(就我刚才给你的那段程序而言),如果你用javac test.java,那么对文件的编译就是用GBK编码,所以“东北”这两个字的编码方式就是GBK,再所以,你对编码方式是GBK的字符用8859_1的格式来读在转换成GBK就不正确。因此,我要你用javac test.java -encoding 8859_1的这个命令的意思就是制定文件编码的方式为8859_1,所以,这时“东北”两个字的编码方式就是8859_1,再进行上面的转换就是正确的了够详细了吧 我现在明白他们之间的用途了。但是 String temp_p=str; byte[] temp_t=temp_p.getBytes("GBK");//把temp_p按GBK的格式读出 String temp=new String(temp_t,"GBK");//然后又把temp_t转换成GBK的格式 return temp;这么做了 他就不输出乱码了啊。那我想把我转换过的字符放在sesssion中,我在另一个javabean中取得sesssion中的数值。这就是我做这项工作的目的。那你说我该怎么做,如果按你说的那样做的话,是否能保证我在另一个bean中取得的不是乱码?请指点。今天在你那学到不少东西。 你把你的方法改成public static String ex_chinese(String str){ return str;}试试看 子窗体刷新父窗体 linux乱码 服务器端实现断点续传???? 关于smartupload组件在Linux下中文乱码问题?高手进,在线等! 如何通过自己建设的网站访问客户机 才几行代码,报两行错,怎么也弄不掉。 请问如何开发jdbc 请教用java bean编写从数据库取图程序代码. 请问大家写jsp,都用什么工具的,谢谢! 请问各位大虾jsp+javascript能否实现CheckboxMenu 请教:如何将别人在WEB页上提出的意见,发送到指定的邮箱? 有谁用过jrun4.0吗?为什么的装的时候没有任何错,但无法启动服务?
String str="东北";
要达到下面的效果 我怎么办:在JavaBean进行转换,用System.out.println(str);输出
并且输出的结果不是乱码。我用了以下方法也不行。
str=new String(str.getBytes("ISO8859_1"));
不好意思我着急 语句不通过
:)
请多包涵!
{
try
{
if (str==null)
{
return "";
}
else
{
str=new String(str.getBytes("ISO8859_1"),"GBK");
return str;
}
}catch (Exception e){return null; } }String str="东北";
str=tochinese(str);
8088 这种方法我试过了 不行的,要不你在 javabean中试试
{
try
{
if (str==null)
{
return "";
}
else
{
str=new String(str.getBytes("ISO8859_1"),"GBK");
return str;
}
}catch (Exception e){return null; } }public static void main(String[] args){
String str="东北";
str=tochinese(str);
System.out.println(str);
}
}编译的时候用javac test.java -encoding 8859_1 运行用java test 试试
String aa="东北";
System.out.println(aa);
可以看到输入的是“东北”,没有乱吗啊。
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"GBK");
return temp;
To nc201 你说的 javac test.java -encoding 8859_1 运行用java test
我不怎么会用这个 :)不好意思。能不能只在javabean中实现。我用你写的代码 输出的也是乱码。是不是我有什么包或者别的没有引用啊。
谢谢!
我问的就是你上面所告诉我的啊。只是你说的那种方法我没用过所以有的不明白啊 。
(javac test.java -encoding 8859_1 运行用java test )public static String tochinese(String str)
{
try
{
if (str==null)
{
return "";
}
else
{
str=new String(str.getBytes("ISO8859_1"),"GBK");
return str;
}
}catch (Exception e){return null; } }public static void main(String[] args){
String str="东北";
str=tochinese(str);
System.out.println(str);
}他输出的结果有乱码啊,我就是为了解决这个问题。
过一会马上结分
谢谢各位! 参与者有都有
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");//把temp_p按GBK的格式读出
String temp=new String(temp_t,"GBK");//然后又把temp_t转换成GBK的格式
return temp;这就相当于什么都没有做,你要的是这种结果??
8859_1与GBK都是文件的编码方式,中文WINDOWS对文件的默认编码方式是GBK,而LINUX一般是8859_1,所以(就我刚才给你的那段程序而言),如果你用javac test.java,那么对文件的编译就是用GBK编码,所以“东北”这两个字的编码方式就是GBK,再所以,你对编码方式是GBK的字符用8859_1的格式来读在转换成GBK就不正确。因此,我要你用javac test.java -encoding 8859_1的这个命令的意思就是制定文件编码的方式为8859_1,所以,这时“东北”两个字的编码方式就是8859_1,再进行上面的转换就是正确的了够详细了吧
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");//把temp_p按GBK的格式读出
String temp=new String(temp_t,"GBK");//然后又把temp_t转换成GBK的格式
return temp;
这么做了 他就不输出乱码了啊。那我想把我转换过的字符放在sesssion中,我在另一个javabean中取得sesssion中的数值。这就是我做这项工作的目的。那你说我该怎么做,如果按你说的那样做的话,是否能保证我在另一个bean中取得的不是乱码?
请指点。今天在你那学到不少东西。
public static String ex_chinese(String str)
{
return str;
}试试看