JSP页面表单数据传给sqlserver数据表里会乱码 10

从百度找了无数答案就是不行,不知道该什么办,就是乱码... 从百度找了无数答案就是不行,不知道该什么办,就是乱码 展开
 我来答
姣过手飘找人1Q
2018-06-04 · TA获得超过1904个赞
知道大有可为答主
回答量:2466
采纳率:70%
帮助的人:360万
展开全部
一般在jsp页面中添加下面三句 基本可以解决乱码问题,注意 前后台 数据库 编码一致<%@ page contentType="text/html;charset=utf-8" %>
<%@ page pageEncoding="utf-8"%> <%request.setCharacterEncoding("utf-8");%> (1)JSP页面显示乱码
对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用的编码方式不同和浏览器对不同的字符显示结果不同而导致的。解决办法:在JSP页面中指定编码方式(gb2312),即在页面的第一行加上:<%@ page contentType="text/html; charset=gb2312"%>
(2)表单提交中文时出现乱码
如果submit提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF- 8和GBK编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding ("GBK")对请求进行统一编码,就实现了中文的正常显示。修改后的process.jsp代码如下:

<%@ page contentType="text/html; charset=GBK"%>
<% request.setCharacterEncoding("GBK"); %>
(3)Java Web配置过滤器进行字符编码 <!-- 定义过滤器 --> <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!-- 初始化 参数 设置编码是UTF-8 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <!-- 设置过滤对象 --> <filter-mapping> <filter-name>encoding</filter-name> <!--对所有的都过滤,并走 过滤器 名称是encoding的所对应的类--> <url-pattern>/*</url-pattern> </filter-mapping>(4) 拦截器端处理乱码 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //设置编码格式统一为utf-8 response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("UTF-8"); ......}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式