做web开发,遇见乱码肯定是很正常的事
如每次都等到出现乱码了,再来解决乱码,倒不如在开始阶段做好以下准备,防止乱码的产生
项目编码,前端页面编码,数据库编码必须都是一致的; 其次请求路径尽量不要有中文; 请求的URL尽量不要有中文参数; 表单提交尽量采用POST请求方式
当然在开发过程中,不可能完全做到,这样也就没法避免造成乱码的问题,下面分情况总结下
一般情况下,现在假设都是UTF-8的编码方式;
1、表单通过POST提交方式
这是最简单的一种,例如在表单中填入了很多中文参数值,
从后台程序中通过req.getParameter("参数名")得到乱码
解决方案:在取参数前设置request的编码方式:
req.setCharacterEncoding("UTF-8"); String userName=req.getParameter("userName");
当然自己写个过滤器Filter的话,就省事的多。
2、通过URL的GET请求方式
请求路径中含中文:http://localhost:8080/encode/中文.jsp
或请求参数中包含中文参数:http://localhost:8080/encode/login.jsp?userName='张三'
解决方案1:
设置下tomcat的service.xml文件中添加tomcat解码方式URIEncoding参数:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
解决方案2:
(1)自己用js内置函数encodeURI对中文参数进行转码,再传到后台处理:
var userName="张三"; userName=encodeURI(encodeURI(userName)); var param="userName="+userName; var url="http://localhost:8080/encode/login.jsp?"+param;
(2)然在后台通过
String userName=req.getParameter("userName"); userName=java.net.URLDecoder.decode(userName, "utf-8");
方案2不能对含中文的路径进行处理。
相关推荐
有关jsp中文乱码问题的小结,从客户端和服务器端总结
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱码问题以及解决方法。
本文实例总结了PHP+MySQL存储数据常见中文乱码问题。分享给大家供大家参考,具体如下: PHP+MySQL出现中文乱码的常见原因: 1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。 2. ...
小结 在本文中,我们解决了 Knime 连接 MySQL 数据库中文乱码问题,并详细讲解了相关的知识点。通过修改 Knime 的编码格式、修改 MySQL 数据库的编码格式、创建数据源和修改 ODBC 连接的编码格式,我们可以正确...
五、 小结 通过以上配置,可以解决SSH中文乱码问题。需要注意的是,在配置web.xml的过滤器时,需要将 CharacterEncodingFilter放在第一位,以避免其他过滤器的干扰。同时,需要在struts.properties中添加struts.i18...
一.HTML页面转UTF-8编码问题 1.在head后,title前加入一行: &... 3.HTML文件头BOM问题: 将文件从其他的编码转换成UTF-8编码时,有时候会在文件的最开始加上一个BOM标签, 在个BOM标签可能会导致浏览器在显示中文的时
linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题。 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上–default-character-...
中文一般采用的是gb2312这样的话显示中文基本上不会出现乱码。但是有时候我们用的是一种国际上通用的utf-8格式。如果utf-8格式人不是很了解的话是容易出现乱码的。 有许多朋友问过我,为什么在ASP里指定了codepage为...
您可能感兴趣的文章:mysql导入导出数据中文乱码解决方法小结mysql 中文乱码 解决方法集锦实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法windows环境下Mysql中文乱码问题解决方法Windows服务器
无中文输入法导致的乱码 1、ibus输入法 Ubuntu 系统安装后已经自带了ibus输入法,在英语环境下默认不启动。配置ibus自动启动可以在ubuntu系统菜单上选择System — Preferences — Startup Applications,在该窗口中...
小结下MySQL中文乱码,phpmyadmin乱码,php乱码 产生原因及其解决方法
几天研究UTF-8编码,太晕了,把我的看法和各位讨论讨论。欢迎来批啊。以下都是我的想法,哪里有不对的请不吝赐教,帮忙指出来。
ERROR 1:SQL*LOADER装载数据成功,但是发现某些字段的中文为乱码,这个是因为编码缘故造成乱码。可在控制文件中添加字符集编码参数解决问题, 例如:CHARACTERSET ‘ZHS16GBK’ 或 CHARACTERSET ‘UTF8’,根据...
四、小结 解决网页打开乱码的问题需要在服务器端和浏览器端同时进行设置。在服务器端,需要修改Apache的配置文件httpd.conf,设置默认语言为简体中文和编码字符集为GB2312。在浏览器端,需要设置浏览器的语言和编码...
一、显示问题1、页面无乱码现象:在可以输入中、英文的系统输入中文,不能出现 软件页面功能测试点小结 软件测试 关键字:Web测试功能测试 项目接近尾声了,现在似乎有点闲,随便找点事来做吧。在前人的基础下,...