Java Web中数据从前端输入到插入数据库,哪些地方需要考虑字符编码?
来源:互联网 发布:linux下ant的安装配置 编辑:程序博客网 时间:2024/06/05 15:50
1、JSP页面:
3、Tomcat
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2、JDBC获取连接时:
<span style="font-size:14px;">DriverManager.getConnection("jdbc:mysql://localhost:3306/developerdb?useUnicode=true&characterEncoding=utf8", "developer", "developer");</span>
3、Tomcat
浏览器请求传到Tomcat容器的时候还会经历一次编码转换,而Tomcat7.0对请求的默认编码字符集是ISO8859-1(还没找到Tomcat的官方文档来支持这一观点),所以解决方法就是在java代码里对请求再次进行编码转换。其中有两种处理方式:
(1)对参数值的字符串进行编码转换。
new String(request.getParameter("name").getByte("ISO-8859-1"),"UTF-8");
(2)对进入容器的所有请求进行编码转换。这个方式需要配置一个过滤器,然后在web.xml中调用
<span style="font-size:14px;">public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); chain.doFilter(request, response);}</span>或在servlet的doPost方法的最开始加上两句
request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");
(3)如果使用spring,可以直接调用spring的包
<!-- CharacterEncodingFilter provided by SpringFramework --><filter> <filter-name>characterEncodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param></filter><filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
0 0
- Java Web中数据从前端输入到插入数据库,哪些地方需要考虑字符编码?
- java web从网页表单输入数据存储到MySQL数据库
- Java 从Access数据库读取数据,插入到JavaDB数据库表中
- java从文件中读取数据然后插入到数据库表中
- 从ldap xmpp中拿数据插入到数据库中
- 从文件中把数据插入到数据库中
- PHPCMS项目从本地上传到服务器,需要修改哪些地方?
- Java Web系统初始化时从数据库中加载数据到文本(ibatis,spring)
- 正确设定mysql的字符集编码的探索---需要向数据库中插入中文数据
- java实现读取XML文件数据插入到数据库中
- Java 批量插入数据到数据库(MySQL)中
- Java Web乱码-->读取网页中的数据(如输入框中的内容)写到数据库中乱码
- 使用JXL从Excel中提取数据插入到数据库中
- 数据库中把数据从一个表中插入到另一张表中
- Java如何从数据中读取数据,然后插入到指定的文本中
- java从数据库中将数据导入到excel中
- HashMap 数据集 插入到数据库中
- 从数据库中读取数据,然后插入到excel,发送email
- Django文件下载,解决Django中文名问题
- Problem_1013
- 安装PHP5.6.19遇到的一个Libiconv的问题
- 大话数据结构读书笔记系列(四)栈与队列
- Cmake的介绍和使用 Cmake实践
- Java Web中数据从前端输入到插入数据库,哪些地方需要考虑字符编码?
- 注册了csdn博客
- 设计模式:代理模式(Proxy)
- 128.LeetCode Longest Consecutive Sequence(hard)[数组 排序 最长连续增长子序列]
- 我要成为神
- 【Java/Android】对回调机制的理解
- 傅立叶变换-MATLAB
- tableView static cells不显示
- 问题easyui树形成了死循环