jsp提交的中文字段写到数据库成为乱码 能不乱吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); 或者写个过滤器处理中文 把代码贴出来看看首先看看你的提交方式是get方式,还是post方式,看看乱码出现在那个阶段,比较通用的是写个过滤器Filter,其次就是1楼中说的:Java codeString name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); 哪个出现乱码就对哪个进行转码,比较繁琐,每个都要写。乱码问题很常见的,要慢慢的调试,找出原因 采用过滤器吧http://e188e.cn 一定能但是你这样提问没人帮得了你!建议把《提问的智慧》(http://community.csdn.net/IndexPage/SmartQuestion.aspx)看一遍,不要再如此愚蠢地提问题 我昨天也遇到这个问题,这样解决的String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2132"); 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;public class MyFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse rep, FilterChain fileC) throws IOException, ServletException { // TODO Auto-generated method stub req.setCharacterEncoding("gbk"); fileC.doFilter(req, rep); }}web.xml加 <filter> <filter-name>MyFilter</filter-name> <filter-class>com.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>MyFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 你需要说下你使用的技术,比如,是否用了strut2框架啊 ,是否用了spring框架等等,这些框架里面都有对乱码进行处理的机制,问问题以后尽量说详细些,想帮助你的人也好入手 能啊,你把所有涉及到编码的地方,全部采用"UTF-8",想乱都乱不了。 嗯,我前天做的就是存到数据库里全???改成"UTF-8"就不乱了 使用了struts1和spring在jsp页面中是FORM的INPUT项输入的是中文到了Action的ActionForm读取的时候就是乱码了在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> </filter> 另外在jsp页面的开头有<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 你的表单是以什么方式提交的,要以post方式提交过滤器才起作用。 spring的过滤器没用过,你自己写一个过滤器配置上试试。 如果是get方式提交的,filter有时也处理不好的,可以这样单独处理String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2132");gb2312是你采用的编码.不过最好不用gb2312,可以使用gbk,gb18130,utf-8这样可以支持繁体字. 现在弄好了,是在WebSphere里面改了字符集位utf-8但是不知道为什么spring的过滤器没有效 去电炉上下v512工作室刘伟的JavaWeba视频看吧,第十八章,专门讲解中文乱码的,看了你就会明白! javaweb 开发内幕 里面有很好的解释 总的来说就是在所有可以设置编码方式的地方都是用同一种编码,最好是用UTF-8具体的情况有:1、JSP设置UTF-82、框架内部定义过滤器3、数据库的设置mysql在安装时可以设置编码方式如果按照上述要点进行设置,乱麻可以解决。 LZ可以先下个断点输出接收的String,如果在执行SQL语句之前是中文不出现乱码的话那就是你的数据库编码与代码的不一致 办法:所有与字符集有关的地方都注意一下,全部设置为UTF-81)数据库建的表字符集设置为UTF-82)JDBC连接字符集设置为UTF-83)jsp,html,java等源文件的编码格式设置为UTF-84)jsp,html的contentType属性,设置字符集为UTF-8依据:你存进数据库的是什么编码,取出来的还是什么编码,你说还会不会乱码?一般都只注意到1),4),没注意到2),3) 很容易出现乱码搞定这几个地方,你的数据库乱码基本就不会出现了,连过滤器也免了。 用过滤器处理不就得了.多省事呀.第一步:写一个类,实现Filter接口,再在接口的方法里写入下列代码:public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); }第二步:在配置文件(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> </filter> 上楼的代码的第二条我引用错了,应该是: <filter> <filter-name>filter</filter-name> <filter-class>com.tsinghua.filter.BFilter</filter-class> </filter> <filter-mapping> <filter-name>filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>很容易记的! webservice 联调问题,急200分求助 帮帮忙 过滤器验证用户登录 初学JSP碰到难解问题 我在一台机子(resin-3.0.8)中如何配置多个站点或多个虚拟目录? 一个关于登录页面的问题?(在线等待) 急急[甩泪100分]用JDBC创建数据库表的初级问题 各位大哥,帮帮忙,帮我看看着个程序!--在线等待 Help:java 关于操作oracle的Date类型(insert)的问题! 谁知道jsp好的开发工具(在线给分)119 几个疑惑,希望大家帮忙解决一下 为什么我的Spring运行出错?
首先看看你的提交方式是get方式,还是post方式,
看看乱码出现在那个阶段,比较通用的是写个过滤器Filter,
其次就是1楼中说的:
Java codeString name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
哪个出现乱码就对哪个进行转码,比较繁琐,每个都要写。
乱码问题很常见的,要慢慢的调试,找出原因
一定能但是你这样提问没人帮得了你!建议把《提问的智慧》(http://community.csdn.net/IndexPage/SmartQuestion.aspx)看一遍,不要再如此愚蠢地提问题
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2132");
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class MyFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse rep,
FilterChain fileC) throws IOException, ServletException {
// TODO Auto-generated method stub
req.setCharacterEncoding("gbk");
fileC.doFilter(req, rep); }
}web.xml加
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
你需要说下你使用的技术,比如,是否用了strut2框架啊 ,是否用了spring框架等等,这些框架里面都有对乱码进行处理的机制,问问题以后尽量说详细些,想帮助你的人也好入手
能啊,你把所有涉及到编码的地方,全部采用"UTF-8",想乱都乱不了。
到了Action的ActionForm读取的时候就是乱码了在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>
</filter>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2132");
gb2312是你采用的编码.不过最好不用gb2312,可以使用gbk,gb18130,utf-8这样可以支持繁体字.
但是不知道为什么spring的过滤器没有效
都是用同一种编码,最好是用UTF-8具体的情况有:
1、JSP设置UTF-8
2、框架内部定义过滤器
3、数据库的设置mysql在安装时可以设置编码方式如果按照上述要点进行设置,乱麻可以解决。
1)数据库建的表字符集设置为UTF-8
2)JDBC连接字符集设置为UTF-8
3)jsp,html,java等源文件的编码格式设置为UTF-8
4)jsp,html的contentType属性,设置字符集为UTF-8依据:你存进数据库的是什么编码,取出来的还是什么编码,你说还会不会乱码?一般都只注意到1),4),没注意到2),3) 很容易出现乱码搞定这几个地方,你的数据库乱码基本就不会出现了,连过滤器也免了。
第一步:写一个类,实现Filter接口,再在接口的方法里写入下列代码:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
第二步:在配置文件(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>
</filter>
<filter>
<filter-name>filter</filter-name>
<filter-class>com.tsinghua.filter.BFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
很容易记的!