解决Linux下Tomcat向MySQL插入数据中文乱码问题
一、问题
在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码
二、解决办法
1、尝试一
直接在linux上面使用insert语句插入中文,正常
2、尝试二
在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行
3、尝试三
在tomcat配置文件server.xml中再加入URIEncoding="UTF-8",不行
4、尝试四
由于是SSM框架项目,在web.xml中加过过滤器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<async-supported>true</async-supported>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
不行
5、尝试五
在mybatis配置文件的jdbc路径后面加上?characterEncoding=utf-8,成功!
修改后的jdbc访问路径为:
jdbc:mysql://localhost:3306/daad?characterEncoding=utf-8
相关推荐
-
mybatis foreach批量插入数据:Oracle与MySQL区别介绍
下面给大家介绍mybatis foreach批量插入数据:Oracle与MySQL不同点: •主要不同点在于foreach标签内separator属性的设置问题: •separator设置为","分割时,最终拼接的代码形式为:insert into table_name (a,b,c) values (v1,v2,v3) ,(v4,v5,v6) ,... •separator设置为"union all"分割时,最终拼接的代码形式为:insert into table
-
php往mysql中批量插入数据实例教程
前言 假如说我有这样一个表,我想往这个表里面插入大量数据 CREATE TABLE IF NOT EXISTS `user_info` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `name` varchar(255) NOT NULL default '' COMMENT '姓名', `age` int(11) NOT NULL default '0' COMMENT '年龄', PRIMARY KEY (`id`) ) ENG
-
python读取word文档,插入mysql数据库的示例代码
表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding:utf-8 -*- # 读取docx中的文本代码示例 import docx import pymysql import re import os # 创建数据库链接 conn = pymysql.connect( host='rm-bp1vu5d84dg12c6d59o.mysql.rds.ali
-
php插入mysql数据返回id的方法
如下所示: <?php $dbh = mysql_connect('localhost','root','root'); mysql_select_db('pkbk'); $query = "insert intov9_admin_role_priv(roleid, m, c, a, `data`, siteid) values (12, 'huiben','huiben', 'hbprop_add', '', 1)"; $res = mysql_query($query, $d
-
mysql数据插入效率比较
做数据插入时,发现之前上班做哪些办公系统压根就没考虑过数据库性能这些,因为涉及的数据量小,时间和效率看不出来,可当数据量很大了,大到了每秒需要10000次插入时,这时就不得不考虑你的sql 语句了.当插入100条数据,能想到的数据插入方式: 1:for循环100次,一次次插入数据.连接一次插入100次,这样是最费时间的也是最费IO和连接的: 2:将100数据插入语句组成一个sql语句,然后连接一次,插入数据.这种费时比第一种要好. 3:使用事物,100次插入,最后一次事物commit; 这种比第
-
88秒插入1000万条数据到MySQL数据库表的操作方法
我用到的数据库为,mysql数据库5.7版本的 首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). You can change this value on the server by setting the max_allo
-
JDBC连接MySql数据库步骤 以及查询、插入、删除、更新等
主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一个功能都放在一起. 安装下载的数据库驱动程序jar包,不同的数据库需要不同的驱动程序(这本该是第一步,但是由于属于安装类,所以我们放在最后) 一.JDBC连接数据库(编辑)步骤(主要有六个步骤) 1.注册驱动: Class.forName("com.mysql.jdbc.Driver");
-
python3 pandas 读取MySQL数据和插入的实例
python 代码如下: # -*- coding:utf-8 -*- import pandas as pd import pymysql import sys from sqlalchemy import create_engine def read_mysql_and_insert(): try: conn = pymysql.connect(host='localhost',user='user1',password='123456',db='test',charset='utf8')
-
MySQL入门(四) 数据表的数据插入、更新、删除
序言 数据表的插入.更新.删除非常简单,但是简单的也要学习,细节决定成败. ---WH 一.插入数据 格式:INSERT INTO 表名(字段名...)VALUES(值...); 创建环境 使用person表 CREATE TABLE person ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name CHAR(40) NOT NULL DEFAULT '', age INT NOT NULL DEFAULT 0, info CHAR(50) NULL,
-
mysql中插入表数据中文乱码问题的解决方法
一.问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: Incorrect string value: '\xE6\x88\x91' for column 'name' at row 1 二.分析 1.我先去查了两个数据库表中此字段对应的类型都是 varchar,所以不存在类型不一致导致插入报错的问题. 2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题.然后网上百度发现是mysql默认的编码问题导致
随机推荐
- IOS开发环境windows化攻略
- ASP.NET MVC页面重定向简单介绍
- 详解VS2017 Linux 上.NET Core调试
- asp.net 获取TreeView中第一个选中的节点
- JS实现的3D拖拽翻页效果代码
- JavaScript实现把rgb颜色转换成16进制颜色的方法
- Parse正式发布开源PHP SDK
- YII Framework教程之异常处理详解
- PHP的变量总结 新手推荐
- C++ 之 Asio 库(全面解析)
- C++ clock()解析如何使用时钟计时的应用
- 阿里云安装mysql数据库出现2002错误解决办法
- 仿谷歌主页js动画效果实现代码
- jqgrid 简单学习笔记
- C#中图片.BYTE[]和base64string的转换方法
- sql高级技巧几个有用的Sql语句
- SQL Server内存遭遇操作系统进程压榨案例分析
- 基于jQuery ligerUI实现分页样式
- 详解js树形控件—zTree使用总结
- JavaScript数值千分位格式化的两种简单实现方法