在B/S开发中经常会用到url传参数,而且还会有很多传中文参数的,传中文参数经常会出现乱码的问题。
一下提供我遇到乱码问题的一个解决方案(仅供参考):
(1)在所有的jsp页面做一下设置:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>中文问题</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
</html>
(2)在web.xml中加如下过滤器: org.springframework.web.filter.CharacterEncodingFilter过滤器.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<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>
(3)server.xml中不要使用
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
(4) server.xml文件加上useBodyEncodingForURI="true"
这样应该可以搞定大多数前台的中文问题.
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true" />
(5)如果URL中包含中文参数要提交后台,可以用encodeURIComponent()函数进行编码。
window.location = "<%=request.getContextPath()%>/deal/toSystemDealList.action?ddlType=" + document.getElementById("ddlType").value + "&txtSelect=" + encodeURIComponent(document.getElementById("txtSelect").value) + "&proClassId=" + document.getElementById("proClassId").value;
document.getElementById("txtSelect").value得到的是以下输入项的值(这个值可能是中文字符)
<input name="txtSelect" id="txtSelect" type="text" />
(6)解决乱码问题还应该注意数据库的配置,下面以mysql为例进行说明:
A.mysql配置文件:修改mysql在windows\my.ini里default-character-set=utf-8
B.mysql里数据库和表也都设为utf8_unicode_ci
C.数据库连结:jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=utf-8
注意,关键就在于此:此句中间是'&'不是'&'这是因为数据库连结时,在.jsp和.java文件中应该用&号,而XML文件中需要用&
分享到:
相关推荐
在向URL中添加参数之前,最好对参数进行编码处理,以防止潜在的安全问题。 #### 3.2 用户体验 在设计用户界面时,应提供清晰的指示和反馈,以便用户知道哪些步骤需要执行以及如何执行。例如,可以在界面上明确指出...
然而,文件标题“中国传媒大学音乐学考研真题.pdf”暗示了这些内容本应是有关中国传媒大学音乐学专业的研究生入学考试的历年真题。由于内容片段无法直接提供有意义的信息,我们可以围绕“中国传媒大学音乐学考研”这...
中国传媒大学考博试题系列 中国传媒大学2007年计算机图形学考博真题
通过深入学习这份题库,考生可以全面了解并熟练掌握这些知识点,同时通过反复练习和解答,提高分析问题和解决问题的能力,为在中国传媒大学的高等代数考试中取得优异成绩打下坚实基础。这份资源的高清无水印特性,...
中国传媒大学21春《公文写作》平时作业.docx
总的来说,《2021年中国传媒大学809中国现当代文学史考研真题》是考生备考的重要参考资料,它能帮助考生系统梳理现当代文学史的知识框架,加深对文学现象的理解,提升学术素养,从而在激烈的竞争中脱颖而出。
《信号与系统》是中国传媒大学考研的重要科目之一,2002年的考研真题是学子们备考的关键参考资料。本篇文章将深入解析这份真题,帮助考生理解和掌握信号与系统的基本概念、理论及其应用。 首先,我们要理解“信号”...
信号与系统 中国传媒大学 真题 答案 极具参考价值
2013-2017中国传媒大学计算机921数据结构与计算机网络考研初试真题
《信号与系统》是中国传媒大学考研的重要科目之一,2001年的考研真题是对这一领域知识深度和广度的直观反映。这个压缩包文件包含了该年度的试题,是考生们复习备考的重要参考资料。 信号与系统是电子工程、通信工程...
中国传媒大学计算机考研真题 827 程序设计 2010年。。。
本资源摘要信息主要介绍基于OTN技术的5G中传和回传承载方案,旨在解决5G承载网中的带宽、组网灵活性、网络切片等需求。通过采用OTN技术,可以实现统一的承载方案,满足中传、回传网络的需求。 1. OTN技术概述 OTN...
《中国传媒大学829艺术与科学基础考研真题详解》 中国传媒大学,作为国内传媒教育领域的领军学府,其829艺术与科学基础课程是艺术类研究生入学考试的重要科目之一。这个科目旨在考察考生对艺术理论、科技应用以及...
【中国传媒大学考研材料】是针对想要参加中国传媒大学研究生入学考试的学生的重要参考资料。这个压缩包文件包含了不同年份和科目的考研相关资料,特别是针对通信与信息系统专业的复试环节。通过对这些材料的深入学习...
电子信息工程专业作为中国传媒大学在信息科学与技术领域内的优势与主干专业,具有与广播电视行业密切联系、服务于传媒综合信息化、基础理论与应用技术并重、教学与科研并重的特色。该专业下设三个方向:信息处理方向...
Aruba提供的无线解决方案旨在满足不同行业的需求,包括但不限于高科技、互联网、传媒娱乐、金融、教育、电信等行业。Aruba通过其先进的技术和产品,确保了网络的安全性和稳定性,同时也为用户提供了一流的用户体验。...
《中国传媒大学 信号与系统一815真考研题00-09》是针对中国传媒大学通信、信号及电路方向考研学子的重要参考资料。这个压缩包包含了2000年至2009年间的历年真题,对于备考的学生来说,无疑是宝贵的复习资源。 信号...
- **详细解释**:1979年,中国大陆最早的电视广告在上海电视台播出,该广告为D选项中的“参桂补酒广告”。这一事件标志着中国电视广告时代的开端,对于了解中国广告业的发展历程具有重要意义。 ### 2. 梅尔文·...
《中国传媒大学考研 信号2000年真题》 信号与系统是电子工程、通信工程、计算机科学等领域的核心课程,对于备考中国传媒大学考研的学生来说,掌握这一部分的知识至关重要。这篇文档将深入探讨2000年中国传媒大学...
软件工程历年考研真题汇编是中国传媒大学计算机学院822软件工程专业学生的一份重要参考资料,它收录了多年来的考研真题,旨在帮助学生更好地备战考研。 软件工程考研真题汇编的内容涵盖了软件工程的各个方面,包括...