做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中文乱码问题是一个常见的开发难题,主要涉及客户端、服务器端以及数据库等多个环节。本文将深入探讨这个问题,并提供相应的解决方案。 首先,我们要理解中文乱码的根源。在Java(包括JSP)中,中文字符可能出现...
小结 在本文中,我们讨论了 MySQL 中文乱码问题的原因和解决方法。解决这个问题的关键是检查和修改 MySQL 服务器的编码方式,包括 character_set_server 变量的设置和 my.ini 文件中的配置。通过这些方法,我们...
在IT行业中,尤其是在进行Web开发时,JSP(JavaServer Pages)中文乱码问题是一个常见的困扰。这主要是由于字符编码不一致导致的。以下是一些关键的知识点和解决方法: 1. **JSP页面乱码** 当JSP页面中的中文字符...
在PHP和MySQL集成开发中,中文乱码问题是一个常见的困扰,尤其对于处理中文内容的数据存储和展示。本文将深入探讨这些问题的原因以及相应的解决方案。 首先,我们来看PHP+MySQL出现中文乱码的几个主要原因: 1. **...
小结 解决MYSQL数据库中文乱码问题需要注意以下几点: * 使用正确的命令和工具来导入和导出数据 * 使用phpmyadmin可以轻松地解决中文乱码问题 * 使用mysqldump时,需要注意中文乱码问题,可以使用iconv命令来转换...
### 乱码解决,简单小结 在Java开发过程中,我们经常会遇到乱码的问题,尤其是在前端与后端数据交互的过程中。本文将针对Java中的乱码问题进行总结,并提供几种简单的解决方案。 #### 一、理解字符编码与乱码产生...
在使用Ajax技术进行前后端交互的过程中,常常会遇到字符编码的问题,特别是当涉及到中文或其他非ASCII字符时,容易出现乱码现象。根据题目中的描述,“Ajax乱码:当调用`request.getParameter()`函数时,会自动进行...
小结 在远程登录 Linux 系统中,使用 vi 和 less 查看文本可能会出现中文乱码的问题。这是因为 Linux 系统的字符编码问题导致的。可以使用 `export LESSCHARSET=latin1` 命令来解决 less 中的中文乱码问题,也可以...
#### 小结 通过上述步骤,我们可以有效地解决JSP页面中可能出现的中文乱码问题。过滤器作为拦截器之一,在处理请求之前对数据进行预处理,能够有效解决乱码问题,并且使得后续的业务逻辑更加简洁高效。此外,还可以...
五、 小结 通过以上配置,可以解决SSH中文乱码问题。需要注意的是,在配置web.xml的过滤器时,需要将 CharacterEncodingFilter放在第一位,以避免其他过滤器的干扰。同时,需要在struts.properties中添加struts.i18...
#### 四、小结 以上四种方法分别从不同层面解决了MySQL中文乱码的问题,可以根据具体情况选择合适的方法。如果是在开发过程中遇到乱码问题,推荐使用第三种方法,在创建数据库时指定字符集;如果是部署到生产环境中...
#### 六、小结 综上所述,解决MySQL乱码问题主要涉及以下几个方面: 1. **检查MySQL服务端和客户端的字符集设置是否一致且正确**; 2. **在数据库连接时明确指定字符集**; 3. **在执行SQL查询前设置正确的字符集**...
在网页开发过程中,乱码问题常常困扰着开发者,尤其是在涉及中文字符的处理时。本文主要针对PHP环境下的UTF-8乱码问题进行总结,提供一系列的解决方案。 一、HTML页面转UTF-8编码问题 1. HTML元标签设置:在HTML...
linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题。 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上–default-character-...
上述知识内容为针对标题“PHP json_encode中文乱码问题的解决办法”及描述所提炼的关键知识点,包含了问题产生的原因、解决步骤、示例代码及小结。这些问题和解决方案对于使用PHP进行Web开发的程序员来说具有很高的...
#### 四、小结 综上所述,解决MyEclipse中ORACLE数据库乱码问题的关键在于确保服务器端与客户端的字符集一致,并且在导入数据时使用正确的字符集。通过上述步骤的操作,可以有效地避免或解决汉字乱码问题,从而保证...
Java中的中文编码问题是一个复杂而常见的议题,尤其是在跨平台开发中。本文主要涵盖了Java处理中文字符编码的关键点,包括Java虚拟机(JVM)的初始配置、编译过程中的编码设置、文件读写操作、XML文件处理以及字符串...