servlet中文乱码 看了很多解决办法,也试了,都不行 数据库是mysql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.javawind.net/5b016f381a690317011a759915990005.jhtml#141 自己写一个过滤器: public class DoFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { arg1.setCharacterEncoding("UTF-8"); //和你的页面编码要一致 arg2.doFilter(arg0, arg1); } public void init(FilterConfig arg0) throws ServletException { } } 在web.xml中配置: <!-- 过滤器 --> <filter> <filter-name>encodingFilter </filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding </param-name> <param-value>UTF-8 </param-value> //和你的页面编码要一致 </init-param> <init-param> <param-name>forceEncoding </param-name> <param-value>true </param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter </filter-name> <url-pattern>*.jsp </url-pattern> </filter-mapping> <filter-mapping> <filter-name>encodingFilter </filter-name> <url-pattern>*.do </url-pattern> </filter-mapping> http://blog.csdn.net/jinchun1234/archive/2009/06/19/4280998.aspx 其实干什么都没有用,加了过滤器,编码不统一也是有问题的。你最好是统一全部的编码格式,数据库,jsp,servlet,tomcat,以及整个项目的编码格式。都为utf8。 可以转成中文. String canshu=request.getParameter(new String("zijin").getBytes("ISO-8859-1"),"GBK")); 这是处理单个接收的参数比较好。 你用的web容器的什么? tomcat嚒? 如果是猫的话 我有决杀! 保证有用!打开猫的路径 X:\...\Tomcat 6.0\conf 里面有个server.xml 文件 记事本打开大概40多行吧.. <Connector port="8088" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" />加一句就行了~! 过滤器也是一种方法 但是有时候也会有乱码.. 过滤器失效的情况下 这个也有用! package com.svse.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import org.hibernate.Session;import org.hibernate.SessionFactory;import com.svse.util.HibernateSessionFactory;public class CharFilter implements Filter{ public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub arg1.setCharacterEncoding("UTF-8"); arg2.doFilter(arg0, arg1); } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }web.xml里面的配置<filter> <filter-name>char</filter-name> <filter-class>com.svse.filter.CharFilter</filter-class> </filter> <filter-mapping> <filter-name>char</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 写一个filter或者把所有的编号都设成的UTF-8包括数据库的。 数据库的编码格式怎么改? 是用mysql的 在创建数据库的时候可以选择编码格式, 建议使用UTF-8. 转码问题我常常遇到。如果你数据库用的编码格式与语言的编码格式不一致。就会导致乱码。你可以在程序里面实现试试这一句看看可以不 String str =new String(str1.getBytes("UTF-8"),"GBK2312");如果实在不行的话,建议间数据库的时候有一个选择编码格式的!你选择一下与你程序编码格式的一种语言就OK! 1.確認亂碼來源(在前個頁面中有,在頁面的到servlet傳輸中造成,在數據庫中存儲的就是亂碼)2.按病抓藥:在頁面中顯示的是亂碼,要改動<%@ page encoding=""%>的內容 傳輸中有亂碼 :request.setCharacterIncoding(""); 在接收的jsp頁面或servlet中再進行轉換 或者寫個過濾器來處理亂碼問題 在數據庫中存儲的就是亂碼,懇求你把Mysql安裝根目錄下的my.ini文件里的第二個編碼設置,設置為Utf-8,然後重啟mysql,然後再插入數據,看下存的是否還是亂碼;如果有必要就把第一個編碼設置,設置為gbk(簡體中文的)! mySql配置文件只要有包含 设置的字符集的文件 都 设置为gbk或者 utf-8就好了 CSDN搜索出现以下问题 急!!!建设网上购物网站的整个流程,越详细更好 数据在表格中如何按照以下格式显示。 读取String的问题!请教各位了 如何判断Struts中FormFile上传的文件不存在 我是新手!但是问的是一个老问题,JSP连接SQLSERVER2000 出错! jsp 能否编译成 组件或者类(我不懂jsp,按照asp.net来问的),提供给asp.net调用? 急用:JSP如何实现让打印机打印特定目录中的所有文件 jsp初学者的群3809074 请大家帮帮忙!急!! %>转义的问题 請教一個問題關於HIBERNAT的
自己写一个过滤器: public class DoFilter implements Filter
{ public void destroy() { } public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg1.setCharacterEncoding("UTF-8"); //和你的页面编码要一致
arg2.doFilter(arg0, arg1); } public void init(FilterConfig arg0) throws ServletException {
} } 在web.xml中配置: <!-- 过滤器 -->
<filter>
<filter-name>encodingFilter </filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
<init-param>
<param-name>encoding </param-name>
<param-value>UTF-8 </param-value> //和你的页面编码要一致
</init-param>
<init-param>
<param-name>forceEncoding </param-name>
<param-value>true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter </filter-name>
<url-pattern>*.jsp </url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter </filter-name>
<url-pattern>*.do </url-pattern>
</filter-mapping>
你最好是统一全部的编码格式,数据库,jsp,servlet,tomcat,以及整个项目的编码格式。都为utf8
。
String canshu=request.getParameter(new String("zijin").getBytes("ISO-8859-1"),"GBK"));
这是处理单个接收的参数比较好。
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8" />加一句就行了~! 过滤器也是一种方法 但是有时候也会有乱码.. 过滤器失效的情况下 这个也有用!
package com.svse.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;import org.hibernate.Session;
import org.hibernate.SessionFactory;import com.svse.util.HibernateSessionFactory;public class CharFilter implements Filter{ public void destroy() {
// TODO Auto-generated method stub
} public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
arg1.setCharacterEncoding("UTF-8");
arg2.doFilter(arg0, arg1);
} public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml里面的配置
<filter>
<filter-name>char</filter-name>
<filter-class>com.svse.filter.CharFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>char</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
或者把所有的编号都设成的UTF-8
包括数据库的。
你可以在程序里面实现试试这一句看看可以不 String str =new String(str1.getBytes("UTF-8"),"GBK2312");如果实在不行的话,建议间数据库的时候有一个选择编码格式的!你选择一下与你程序编码格式的一种语言就OK!
2.按病抓藥:在頁面中顯示的是亂碼,要改動<%@ page encoding=""%>的內容
傳輸中有亂碼 :request.setCharacterIncoding("");
在接收的jsp頁面或servlet中再進行轉換
或者寫個過濾器來處理亂碼問題
在數據庫中存儲的就是亂碼,懇求你把Mysql安裝根目錄下的my.ini文件里的第二個編碼設置,設置為Utf-8,然後重啟mysql,然後再插入數據,看下存的是否還是亂碼;如果有必要就把第一個編碼設置,設置為gbk(簡體中文的)!