当前位置: 首页 > news >正文

jsp数据添加乱码mysql_JSP插入MySQL数据库中文乱码问题解决

通过JSP页面向MySQL数据库插入中文数据时乱码问题

刚开始插入数据时,mysql数据库表内显示???,读取时同样也是???

对此查找了相关资料,首先注意保持服务器、数据库、项目、以及前端编码一致。

具体做法是:

一、项目编码,Eclipse设置。

Eclipse Java EE IDE for Web Developers ->右键项目 -> Properties -> Resource -> Text file encoding ->other utf-8 ->apply and close

二、tomcat服务器编码设置(conf\server.xml)

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8"/>

三、数据库mysql的my.ini配置文件

[client]

port = 3306

default-character-set=utf8

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

; Remove the next comment character if you are not familiar with SQL

;safe-updates

default-character-set=utf8

[isamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer_size = 2M

write_buffer_size = 2M

[myisamchk]

key_buffer_size = 20M

sort_buffer_size_size = 20M

read_buffer_size = 2M

write_buffer_size = 2M

[mysqlhotcopy]

interactive-timeout

[mysqld]

port = 3306

character-set-server = utf8

修改文件后需要使用net stop mysql/net start mysql关闭开启mysql服务重启mysql服务

四、项目

检查项目中有前端编码的地方

a. JSP页面

pageEncoding="utf-8"%>

b. Servlet服务器端

response.setCharacterEncoding("UTF-8");

c. 其它有编码的地方。

把所有的编码设置一致。本例是为UTF-8.

通过以上步骤还款解决的话,可以在项目中加一个Filter:

package com.kh.utils;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class SetCharacterEncodingFilter implements Filter {

protected String encoding = null;

protected FilterConfig filterConfig = null;

protected boolean ignore = true;

public void destroy() {

this.encoding = null;

this.filterConfig = null;

}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

// Conditionally select and set the character encoding to be used

if (ignore || (request.getCharacterEncoding() == null)) {

String encoding = selectEncoding(request);

if (encoding != null)

request.setCharacterEncoding(encoding);

}

// Pass control on to the next filter

chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

this.filterConfig = filterConfig;

this.encoding = filterConfig.getInitParameter("encoding");

String value = filterConfig.getInitParameter("ignore");

if (value == null)

this.ignore = true;

else if (value.equalsIgnoreCase("true"))

this.ignore = true;

else if (value.equalsIgnoreCase("yes"))

this.ignore = true;

else

this.ignore = false;

}

protected String selectEncoding(ServletRequest request) {

return (this.encoding);

}

}

在Web.xml中加入配置代码:

encodingFilter

com.kh.utils.SetCharacterEncodingFilter

encoding

UTF-8

ignore

true

encodingFilter

/*

相关文章:

  • python切片赋值_Python中实现:变量和变量赋值的几种形式
  • linux shell mysql 遍历_shell 脚本中获取mysql多个字段的值
  • mysql current read_浅谈MySQL之 REPEATABLE-READ.
  • mysql 索引pk_细说mysql索引
  • mysql 6.0 jar_maven搭建ssm框架是使用最新mysql 6.0jar遇到的问题
  • rhel7最小化安装 mysql_安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)
  • 链接索引 mysql_mysql索引
  • linux c epoll mysql_epoll简介和使用
  • python可以不对变量初始化_Python的诡异陷阱
  • python怎么绘制图例_用Python绘制图例
  • centos7安装mysql5.7.23_centos7.1上安装Mysql5.7.23
  • java客户端_大家都是怎么发布Java客户端程序的?难道让用户自己装JRE?
  • java 加载jar_java – 在运行时加载jar
  • java ant linux_linux下ant的安装
  • java获取数据库信息_java获取数据库的库、表、字段信息
  • 2019年如何成为全栈工程师?
  • C++11: atomic 头文件
  • CentOS 7 防火墙操作
  • HTTP那些事
  • Javascript基础之Array数组API
  • java概述
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • opencv python Meanshift 和 Camshift
  • Sublime text 3 3103 注册码
  • uni-app项目数字滚动
  • vue 配置sass、scss全局变量
  • 仿天猫超市收藏抛物线动画工具库
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 配置 PM2 实现代码自动发布
  • 如何使用 JavaScript 解析 URL
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 学习JavaScript数据结构与算法 — 树
  • FaaS 的简单实践
  • 阿里云ACE认证学习知识点梳理
  • ​Spring Boot 分片上传文件
  • ​学习一下,什么是预包装食品?​
  • ​一些不规范的GTID使用场景
  • #include<初见C语言之指针(5)>
  • #pragma multi_compile #pragma shader_feature
  • #预处理和函数的对比以及条件编译
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (04)odoo视图操作
  • (16)Reactor的测试——响应式Spring的道法术器
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)计算机毕业设计ssm电影分享网站
  • (全注解开发)学习Spring-MVC的第三天
  • (十六)串口UART
  • (五)MySQL的备份及恢复
  • (原創) 未来三学期想要修的课 (日記)
  • (转)Linux下编译安装log4cxx
  • (转)编辑寄语:因为爱心,所以美丽
  • .net wcf memory gates checking failed
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .net与java建立WebService再互相调用
  • /proc/vmstat 详解