整理后的web应用程序汉字显示问题的解决方法
2006-07-26 14:46
381 查看
注意:第2,3,4条为使用weblogic的情况,请大家不要弄混!
1, JSP文件中的中文提示信息不能正确显示
解决方法:在JSP文件中加入
<%@ page contentType="text/html; charset=GBK" %>
2, JSP文件中包含中文提示信息时,不能正确编译
解决方法:在weblogic.xml文件的<jsp-descriptor>部分加入
(in weblogic.xml)
<jsp-descriptor>
<jsp-param>
<param-name>compilerSupportsEncoding</param-name>
<param-value>true</param-value>
</jsp-param>
<jsp-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</jsp-param>
</jsp-descriptor>
3, 情况三:从数据库中检索出来的中文显示不正确时,在这种情况下,如果数据库使用的是中文字符集,并使用的是Type 2Jdbc Driver时,对于Weblogic而言,当使用其提供的oci driver时,可加入
Weblogic.codeset=GBK
4, 情况四:在JSP文件之间传递中文时,如果不能正确传递中文数据,可在web.xml文件中加入
(in web.xml)
<context-param>
<paramname>weblogic.httpd.inputCharset./*</param-name>
<param-value>GBK</param-value>
</context-param>
5,
为使浏览器能正确显示中文,应在HTML <HEAD> 部分增加:
<meta http-equiv="Content-Type" content="text/html" charset="GBK">
6. 从数据库中检索出来的中文显示不正确时,如果数据库使用的是中文字符集,可使用下面的函数对从数据库中取出来的数据进行转换:
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"ISO8859_1");
return temp;
}
catch(Exception e)
{
}
return "null";
}
使用示例:
String userid=getStr(RSa.getString("userid"));
7. 在JSP文件之间传递中文时,如果不能正确传递中文数据,在接收前面的页面传递过来的变量的时候,使用下面的语句:
String name=new String(request.getParameter("NAME").getBytes("8859_1"));
8.当服务器为tomcat的时候,在%TOMCAT_HOME%/conf/web.xml文件中添加(红色部分为添加部分):
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>GBK</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
1, JSP文件中的中文提示信息不能正确显示
解决方法:在JSP文件中加入
<%@ page contentType="text/html; charset=GBK" %>
2, JSP文件中包含中文提示信息时,不能正确编译
解决方法:在weblogic.xml文件的<jsp-descriptor>部分加入
(in weblogic.xml)
<jsp-descriptor>
<jsp-param>
<param-name>compilerSupportsEncoding</param-name>
<param-value>true</param-value>
</jsp-param>
<jsp-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</jsp-param>
</jsp-descriptor>
3, 情况三:从数据库中检索出来的中文显示不正确时,在这种情况下,如果数据库使用的是中文字符集,并使用的是Type 2Jdbc Driver时,对于Weblogic而言,当使用其提供的oci driver时,可加入
Weblogic.codeset=GBK
4, 情况四:在JSP文件之间传递中文时,如果不能正确传递中文数据,可在web.xml文件中加入
(in web.xml)
<context-param>
<paramname>weblogic.httpd.inputCharset./*</param-name>
<param-value>GBK</param-value>
</context-param>
5,
为使浏览器能正确显示中文,应在HTML <HEAD> 部分增加:
<meta http-equiv="Content-Type" content="text/html" charset="GBK">
6. 从数据库中检索出来的中文显示不正确时,如果数据库使用的是中文字符集,可使用下面的函数对从数据库中取出来的数据进行转换:
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"ISO8859_1");
return temp;
}
catch(Exception e)
{
}
return "null";
}
使用示例:
String userid=getStr(RSa.getString("userid"));
7. 在JSP文件之间传递中文时,如果不能正确传递中文数据,在接收前面的页面传递过来的变量的时候,使用下面的语句:
String name=new String(request.getParameter("NAME").getBytes("8859_1"));
8.当服务器为tomcat的时候,在%TOMCAT_HOME%/conf/web.xml文件中添加(红色部分为添加部分):
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>GBK</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
相关文章推荐
- 转:整理后的web应用程序汉字显示问题的解决方法
- 英文操作系统下中文操作软件汉字显示为问号的问题解决方法
- 解决汉字显示问题的一种方法:
- vue router路由嵌套不显示问题的解决方法
- 解决WebView调用loadData()方法显示乱码的问题
- 空格 在不同浏览器中显示距离不一致问题解决方法
- fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
- apache与tomcat负载集群的方法与集群的文件同步问题和图片上传显示问题解决
- webuploader模态框ueditor显示问题解决方法
- python显示'\u897f类字符问题的解决方法
- PDF不显示汉字或者显示方框解决方法
- 关于Keil汉字乱码,0xFD问题解决方法
- Sturts中文问题解决方法整理
- WordPress博客后台不能显示所有主题和无法编辑主题的问题的解决方法
- django下video播放时间不能超过5s并且视频有时无法显示问题的解决方法
- Apache、Nginx下Font Awesome在 Firefox 中不显示问题解决方法
- 在使用Gson的toJson()方法转为json字符串的时候无法显示中文和符号的问题(已解决)
- GeoEvent使用问题及解决方法整理
- VS2010使用C++/CLI编程窗口无法显示问题解决方法
- jain-sip-applet-phone与GrandStream V3005 IP电话不能正常视频通话的问题解决方法(IP电话一直显示“对方保持”/“呼叫”)