乱码的处理方式:

1.数据库本身是否支持utf-8。即 数据库创建的时候,字符集是否选择了utf-8。

2.数据库链接(URL)是否加上了characterEncoding=GBK

3.页面上是否是utf-8的编码格式(共有三处

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

4.struts.xml进行国际化配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><constant name="struts.enable.DynamicMethodInvocation" value="false" /><constant name="struts.devMode" value="true" /><!-- 国际化配置 --><constant name="struts.i18n.encoding" value="UTF-8"></constant><package name="default" namespace="/" extends="struts-default">

5.使用过滤器,加上request.setCharacterEncoding,response.setCharacterEncoding

package maya.util;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;
import javax.servlet.annotation.WebFilter;/*** Servlet Filter implementation class CharacterEncoding*/
@WebFilter("/CharacterEncoding")
public class CharacterEncoding implements Filter {/*** Default constructor. */public CharacterEncoding() {// TODO Auto-generated constructor stub
    }/*** @see Filter#destroy()*/public void destroy() {// TODO Auto-generated method stub
    }/*** @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)*/public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {//utf-8request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");chain.doFilter(request, response);}/*** @see Filter#init(FilterConfig)*/public void init(FilterConfig fConfig) throws ServletException {// TODO Auto-generated method stub
    }}

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_9" version="2.4"><display-name>Struts Blank</display-name><filter><filter-name>encoding</filter-name><!-- 过滤器别称,自定义 --><filter-class>maya.util.CharacterEncoding</filter-class><!--指向过滤器的路径+类名--></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern><!-- 过滤所有页面 --></filter-mapping> 

转载于:https://www.cnblogs.com/jonsnow/p/6549770.html

数据库写入中文出现乱码的处理方式相关推荐

  1. 解决读取数据库里面中文字符乱码的问题

    最近做项目过程中要从数据库中读取一些字段,将这些字段先用实体类封装好,然后在其他java主程序中调用该字段进行匹配,奈何我操作了好几遍,总是显示数据库中中文字符乱码.数据库中样式如图1所示. 图1 数 ...

  2. Navicat premium查看数据库表中文注释的两种方式

    有时候我需要查看数据库表中文注释,来确定每个表存的是哪个模块的数据,确保测试时对数据库查询操作无误. 这个操作我忘记了,此处做一个记录 方式一:通过sql语句来,前提是你知道是哪个表,这种方式不容易改 ...

  3. 关于在eclipse中中文汉字乱码的解决方式

    很多童鞋反应在吧项目导入到eclipse(myeclipse)时中文会有乱码,修改了编码格式后还是乱码,这里给大家介绍一下关于中文乱码时修改编码的注意事项: 当在eclipse中打开一个文件后发现有中 ...

  4. 关于Python获取sql server数据库,中文显示乱码问题

    本文发现的问题源于用python读取sql server数据库时,中文显示乱码,如图红框处中文乱码: 在网上寻找了各种方法, import pymssql import sys import os等 ...

  5. 后台向数据库插入中文的乱码问题

    今天在向数据库插入"姓名"中文字段的时候,在数据库里显示的是乱码,我做了以下几点检查: 1.数据库的编码,这个没问题 2.设置jdbc配置文件的编码位utf-8,没有解决问题 3. ...

  6. get传递中文产生乱码的解决方式汇总

    1 最基本的乱码问题. 这个乱码问题是最简单的乱码问题.一般新会出现.就是页面编码不一致导致的乱码. <%@ page language="java" pageEncodin ...

  7. mysql数据库导出中文变乱码问题解决

    问题:数据库中数据类型为varchar,导出后为str,中文部分变为乱码. 先要查询一下是哪种编码错误,查询网站: http://www.mytju.com/classcode/tools/messy ...

  8. python3 logging模块中文乱码_Python logging模块写入中文出现乱码

    一下文件执行将产生乱码,切.log文件显示问好,打不开 import logging def shop_logging(name): name = name+"登录成功!" log ...

  9. java 插入中文乱码_Java向数据库插入中文出现乱码解决方案

    主要解决方向,JAVA与MYSQL中编码要统一.通常采用UTF-8. 这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的. 1.查询自身MYSQL编码方式 MySQL默认编码是 ...

最新文章

  1. Docker系列教程09-使用Docker Hub管理镜像
  2. 日本精密减速器,到底牛在哪?
  3. C语言--第0次作业
  4. LyaoutParameters作用
  5. OpenSUSE 11 安装Qt5.0,失败,失败,失败,留个坑,以后来填,万一实现了呢
  6. Windows中SQLite的编译及编程
  7. 2020-10-13 多智能体基本图论
  8. 计算机合并键功能,Word组合(功能键与Ctrl等组合) -电脑资料
  9. 小程序直播 OBS 画质_微信小程序怎么直播卖货?
  10. XXE漏洞攻击与防御
  11. 【干货】腾讯员工职业发展框架.pdf(附下载链接)
  12. eclipse maven 导出项目依赖的jar包
  13. nginx1.8.0安装
  14. SQL优化工具SQLAdvisor使用
  15. python前端和后端_python是用于前端还是后端开发
  16. 中考计算机上机考试如何操作,全国2021年初中信息技术中招考试上机考试提分技巧...
  17. Echarts 漏斗图
  18. C# Base64编码、AES等编码加、解密
  19. 一文读懂 Linux 下单机实现百万并发的内核黑科技:连接跟踪(Conntrack)
  20. 基金亏损84万,小灰反手把银行客户经理投诉了

热门文章

  1. 用友erpU8V10服务器数据库整体迁移解决方法采用数据库附加方法
  2. matplotlib.pyplot
  3. 使用SQL Server Management Studio 创建作业备份数据库
  4. java 适配器模式记载学习
  5. Android 源代码中的res
  6. oracle中to_date函数详解
  7. 金蝶移动bos开发教程_求助临沂金蝶k3,kis,eas软件各版本优势
  8. element ui 分页增删改查_【新插件发布】AzureAD运维Excel版插件,增删改查快10倍c以上!...
  9. usb深度检查 清理_红桥区清理隔油池一般多少钱
  10. matlab画波特图加网格,matlab figure标题;plot坐标范围;添加加密网格