📄 tom.txt
字号:
问题一:
Tomcat5.0环境下设计JSP动态网页时,用JDBC—ODBC桥连接SQLServer2000数据库,通过JSP网页向SQLServer2000数据库添加记录时出现中文乱码。
1.每个页面使用
<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
2.添加过滤器
在TOMCAT中找到这2个文件RequestDumperFilter.java,SetCharacterEncodingFilter.java,他们位于D:\Tomcat5.0.27\webapps\jsp-examples\WEB-INF\classes\filters,加到你的工程文件里去,编译他们。
具体添加到c:\tomcat\common\classes\filters\目录中,注意:filters是包名。
3.配置TOMCAT\conf\WEB.XML
在web.xml里加入这一段
……
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.修改server.xml
在TOMCAT\conf\server.xml修改2个地方
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding='GBK'/>
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false" protocol="AJP/1.3"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
URIEncoding='GBK'/>
当进行了上述设置后,就不能再使用下列的程序段的方法进行汉字转换。若进行这样的转换反而成乱码.
String mywords=request.getParameter("mywords");
byte b[]=mywords.getBytes("ISO-8859-1");
mywords=new String(b);
问题二:进行上述设定后,在Servlet程序运行时又出现乱码,解决办法:
response.setContentType("text/html;charset=GB2312");//设置响应的类型。
out.println("<HTML> <BODY>");
String s="Simple 汉字正常 GB2312 ISO-8859_1";
byte b[]=s.getBytes();
out.println(new String(b,"8859_1"));
out.println("</body> </html>");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -