Jsp 向Mysql表中添加中文文字乱码报错,解决方案
1. 首先设置页面charset=gb2312 和 <% request.setCharacterEncoding("gb2312"); %>
保证要所用提交页面格式为ruby的运行环境gb2312,
如果只操作这一步,在控制台打印提交数据有可以出现乱码情况,必须添加下面配置
2. 创建Filter类,配置l
创建一个名为txtFilter类,实现Filter接口,用来设置页面代码格式
package ianxinxijishu.book.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
importjsp中文全称 javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class txtFiter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
java多线程ppt免费 }
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
//主要步骤如下
HttpServletRequest req = (HttpServletRequest) arg0;
HttpServletResponse res = (HttpServletResponse) arg1;
req.setCharacterEncoding("gb2312");
res.setCharacterEncoding("gb2312");
arg2.doFilter(req, res);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
txtFilter类创建好后,接着配置l
<filter>
<filter-name>txtfilter</filter-name>
数控机床编程学习<filter-class>
ian.Fiter
</filter-class>
</filter>
c语言ascii表 <filter-mapping>
<filter-name>txtfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置完成后,重新部署,在控制台打印数据,发现中文没有乱码现象。但在提交mysql后,mysql表中数据为乱码,需要接下来的操作。
3. 在 mysql 里面配置下
在你要修改的字段,选择gb2312,不要使用utf8,在mysql中,utf8会出现中午乱码。
在你的数据库中,执行如下代码。
ALTER TABLE 你的表名 CHARACTER SET gb2312;
在mysql的安装目录下 你到 my.ini 这个文件 到一行
default-character-set-latinl;
把latinl 改成同步fifo代码 你的gb2312。 重启服务器 删除缓存数据。
这样,中文数据从页面到数据库不会出现乱码情况。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论