Web开发相关笔记 #05# MySQL中文无法匹配
2018-06-02
在 Class.forName 的时候记得先尝试 import 一下。
2018-06-04
1、JDBC SELECT 查询,中文条件查不出东西,可能是字符编码问题:
String sql = "select reply from reply where words = ?";
preparedStatement = conn.prepareStatement(sql);
preparedStatement.setString(1, words);
resultSet = preparedStatement.executeQuery();
检查 conn = DriverManager.getConnection("jdbc:mysql://123.123.82.66:3306/chat", "123", "123");
按如下修改 conn = DriverManager.getConnection("jdbc:mysql://123.123.82.66:3306/chat?characterEncoding=utf8", "123", "123");
2、存储过程插入中文数据乱码??!!方案来自:https://blog.csdn.net/qq_20948497/article/details/78535941
DROP PROCEDURE IF EXISTS insert_mapping;
DELIMITER //
CREATE PROCEDURE insert_mapping(
IN words_in VARCHAR () character set utf8,
IN reply_in VARCHAR () character set utf8
)
BEGIN
-- 先通过查 id 判断是否已经存在 words ,存在,直接插入 reply,不存在插入 words 和 reply
DECLARE wid BIGINT DEFAULT 0;
SELECT words_id FROM words WHERE words_in=words INTO wid; IF wid = 0 THEN
INSERT INTO words(words) VALUES (words_in);
SELECT words_id FROM words WHERE words_in=words INTO wid;
INSERT INTO reply2(reply, words_id) VALUES (reply_in, wid);
ELSE
INSERT INTO reply2(reply, words_id) VALUES (reply_in, wid);
END IF;
END //
DELIMITER ;
-- 插入一些 数据
CALL insert_mapping('你好', '你好呢。');
CALL insert_mapping('你好', 'hi.');
3、命令行下插不了中文,JDBC却可以。
set name gbk; 即可。
2018-06-05
1、依然是连接 MySQL 中文没法匹配的问题,发现像下面那样修改一下就可以了:
mysql> SET character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
不过这种修改是临时性的,要永久性更改需要修改 mysql 的配置文件,但是我没有找到那个配置文件,于是修改了 my.cnf 结果是 mysql 启动不了了 。。。
Web开发相关笔记 #05# MySQL中文无法匹配的更多相关文章
- Web开发相关笔记 #03#
HTTP Status 500 ※ jsp 放在 WEB-INF 外面 ※ 使用 JDBC 时需要 close 什么 ※ execute 和 executeUpdate ※ How can I ...
- Web开发相关笔记 #04# WebSocket
本文的主要内容: HTTP VS. WebSocket WebSocket 的客户端实现(JavaScript) WebSocket 的服务端实现(Java & apache WebSocke ...
- Web开发相关笔记 #01#
前端学习纲要 ※jQuery 参考 ※ 整理 Chrome 收藏夹的小技巧 ※ 解决 AJAX 跨域获取 cookie ※ 记一次 MyBatis 相关的 debug [1] 前端学习纲要: ♦ 第一 ...
- Web开发相关笔记
1.MySQL命令行下执行.sql脚本详解http://database.51cto.com/art/201107/277687.htm 在可视化工具里导出.sql脚本 --> 放命令行里运行 ...
- Web开发相关笔记 #02#
[1] HTML 插入第三方. [2] [3] JavaScript 回调函数 & 模块化 --> 用变量封装数据.方法 --> 类比 Java 中的 package var fe ...
- 【前端】移动端Web开发学习笔记【2】 & flex布局
上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...
- 【前端】移动端Web开发学习笔记【1】
下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- Django Web开发指南笔记
Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...
随机推荐
- 如何在CentOS 7中安装最新Git(源码安装)
如何在CentOS 7中安装最新Git 2017年05月20日 11:49:53 阅读数:1624 Git是在今天的软件开发行业一个非常有用的版本控制工具.我一直使用Git.于是为Linux公社的读者 ...
- (转)Java大数操作(BigInteger、BigDecimal)
基础知识 对于二进制来说,最高位代表正负号,-0表示-128,+0表示032位系统int型4个字节:-(2的31次方) ~ (2的31次方) 减 1最大负数:10000000 00000000 000 ...
- js函数定义的三种方式
1.函数声明语法 function sum(num1, num2){ return num1 + num2; } 2.函数表达式定义 var sum = function (num1, num2){ ...
- vue 使用高德地图vue-amap组件
首先 npm install -S vue-amap 然后在 main.js import VueAMap from 'vue-amap'; //注意不要和 AMap原始名称覆盖 Vue.use ...
- Maven中的-D(Properties属性)和-P(Profiles配置文件)
-D代表(Properties属性) 使用命令行设置属性-D的正确方法是: mvn -DpropertyName=propertyValue clean package 如果propertyName不 ...
- Keras学习率调整
Keras提供两种学习率适应方法,可通过回调函数实现. 1. LearningRateScheduler keras.callbacks.LearningRateScheduler(schedule) ...
- mysql group_concat用法
MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔 ...
- java微信小程序调用支付接口(转)
简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...
- Oracle 22表空间
数据库与表空间: 表空间实际上是数据库上的逻辑储存结构,可以把表空间理解为在数据库中开辟的一个空间,用于存放我们的数据库的对象,一个数据库可以由多个表空间构成. 表空间与数据文件: 表空间实际上是由一 ...
- tortoise svn中更改用户
1. Open Windows Explorer.2. Right-click anywhere in the window.3. Click TortoiseSVN → Settings.4. Cl ...