当前位置: 技术问答>java相关
表单在页面之间传地数据时,发现中文都变成了“???”,请教
来源: 互联网 发布时间:2015-09-29
本文导语: 会是什么原因,谢谢?怎么解决 | | 1、修改区域设置:在控制面板中选择区域设置,设为英语。 2、在JSP页面中加一条语句: 3、在编译Servlet和JSP时...
会是什么原因,谢谢?怎么解决
|
|
1、修改区域设置:在控制面板中选择区域设置,设为英语。
2、在JSP页面中加一条语句:
3、在编译Servlet和JSP时加入代码选项。
Servlet : javac-encoding iso8859-1 myservlet.java
JSP的zone配置文件中加入 : compliler=builtin-javac-encoding ISO8859-1
2、在JSP页面中加一条语句:
3、在编译Servlet和JSP时加入代码选项。
Servlet : javac-encoding iso8859-1 myservlet.java
JSP的zone配置文件中加入 : compliler=builtin-javac-encoding ISO8859-1
|
//试试下面的每个方法,转换得到的参数!
public static String iso8859togbk(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String iso8859togb2312(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "gb2312");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String gb2312to8859(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("gb2312"), "ISO8859_1");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String gbkto8859(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("gbk"), "ISO8859_1");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String iso8859togbk(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String iso8859togb2312(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "gb2312");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String gb2312to8859(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("gb2312"), "ISO8859_1");
return strvalue;
}
}catch(Exception e){
return null;
}
}
public static String gbkto8859(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("gbk"), "ISO8859_1");
return strvalue;
}
}catch(Exception e){
return null;
}
}
|
用下面这个函数可以显示中文:
|
标准解法:
...
String str=request.getParameter("name");
byte[] tmpbyte=str.getBytes("ISO8859_1");
str=new String(str);
str就能用了,不用担心转成中文后,english显示不出来。
...
String str=request.getParameter("name");
byte[] tmpbyte=str.getBytes("ISO8859_1");
str=new String(str);
str就能用了,不用担心转成中文后,english显示不出来。