我的jsp程序中有的页面中某些汉字显示为?,怎么办?

am2000 2004-07-21 01:17:40
大部分都正常,极个别显示为问号!
...全文
207 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodaoxiaodao 2004-08-26
  • 打赏
  • 举报
回复
另外如果你的OS是windows英文的话,在
“Control Panel”——"Regional and Language Options"中的语言设置也会影响本机的jsp页面的正常显示,我在使用IDEA的时候就遇到过这样的问题。
xiaodaoxiaodao 2004-08-26
  • 打赏
  • 举报
回复
java中文问题比较常见,要想很好的解决它,我想最好是先搞清楚原因:
中文字符无法正确的输出或读入的原因是因为这个字符的编码和系统缺省的字符集编码(或者是应用所要输出的字符集,二者一般情况下是相同的)的不同引起的。
一般遇到中文问题可以使用如下的编码强制转换函数进行内码的转换:
public String toChinese(String strvalue)
{
try
{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO-8859-1"), "GBK");
return strvalue;
}
}
catch(Exception e)
{
return null;
}
}
而且在JSP页面中要定义系统缺省的字符集编码:
<%@ page contentType="text/html; charset=GBK" %>
要注意的是Java编程语言默认的编码方式是UNICODE但Java编译器所使用的字符集则是操作系统的默认字符集,中文的Windows 是GBK,英文系统则是ISO-8895-1。

上面的代码是在你的操作系统是中文Windows的条件下有用。
如果是英文系统,则应该把
strvalue = new String(strvalue.getBytes("ISO-8859-1"), "GBK");
改为
strvalue = new String(strvalue.getBytes("GBK"), "ISO-8859-1");
并且在JSP页面中定义<%@ page contentType="text/html; charset=ISO-8859-1" %>
edhappy 2004-08-26
  • 打赏
  • 举报
回复
该成gbk没用的话,就是用上面几位朋友提供的函数,应该能解决你的问题。
am2000 2004-08-26
  • 打赏
  • 举报
回复
我的是Tomcat 我改为gbk没用
fanciex 2004-07-22
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312" language="java" %>
改成
<%@ page contentType="text/html;charset=gbk" language="java" %>//支持繁体,生僻字

<%@ page contentType="text/html;charset=utf-8" language="java" %>//支持中,日,韩文
jiankou2001 2004-07-21
  • 打赏
  • 举报
回复
如果你用的是TOMCAT的话!!
可以用
public String outStr(String strValue)
{
try
{
String strBuffer=strValue;
byte[] byteBuffer=strBuffer.getBytes("ISO8859-1");
String strReturn=new String(byteBuffer,"gb2312");
return strReturn;
}
catch(Exception e)
{
return null;
}
}
用RESIN的话就好办了!
<%@ page contentType="text/html;charset=gb2312" language="java" %>
头一句是这个就可以了!!

coolyzg 2004-07-21
  • 打赏
  • 举报
回复
你用的db2的437 ??
Rain999 2004-07-21
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312" language="java" %>
改成
<%@ page contentType="text/html;charset=gbk" language="java" %>

原因:
gb2312字符集比较小,很多字是没有的,在网页上就成了?.
改成gbk就没有问题了.
gjd111686 2004-07-21
  • 打赏
  • 举报
回复
public String outStr(String strValue)
{
try
{
String strBuffer=strValue;
byte[] byteBuffer=strBuffer.getBytes("ISO8859-1");
String strReturn=new String(byteBuffer,"gb2312");
return strReturn;
}
catch(Exception e)
{
return null;
}
}
blackrye 2004-07-21
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312" language="java" %>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧