我从RSS频道抓取数据,清理它并保存在数据库中.我使用java,tidy,MySQL和JDBC.脚步:我抓住了RSS记录.没关系.我用整洁来消毒html.这是一个转变. Tidy会自动将“So it s)”这样的字符串转换为“所以不太可能”.我将...
我从RSS频道抓取数据,清理它并保存在数据库中.我使用java,tidy,MySQL和JDBC.
脚步:
>我抓住了RSS记录.没关系.
>我用整洁来消毒html.
这是一个转变. Tidy会自动将“So it’ s)”这样的字符串转换为“所以不太可能”.
>我将此字符串保存到表中
MySQL方案是
CREATE TABLE IF NOT EXISTS `rss_item_safe_texts` (
`id` int(10) unsigned NOT NULL,
`title` varchar(1000) NOT NULL,
`link` varchar(255) NOT NULL,
`description` mediumtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
JDBC连接URL是
connUrl = "jdbc:mysql://" + host + "/" + database + "?user=" + username + "&password=" + password + "&useUnicode=true&characterEncoding=UTF-8";
Java代码是
PreparedStatement updateSafeTextSt = conn.prepareStatement("UPDATE `rss_item_safe_texts` SET `title` = ?, `link` = ?, `description` = ? WHERE `id` = ?");
updateSafeTextSt.setString(1, EscapingUtils.escapeXssInjection(title));
updateSafeTextSt.setString(2, link);
updateSafeTextSt.setString(3, EscapingUtils.escapeXssInjection(description));
updateSafeTextSt.setInt(4, itemId);
updateSafeTextSt.execute();
updateSafeTextSt.close();
结果我在数据库中看到了破碎的字符,比如“所以它不可能”.我在网页上看到了相同的输出文字(utf-8页面).
解决方法:
不要忘记还有很多其他地方可以设置不同的编码.例如,检查数据库/表/列是否具有正确的编码开头.另外,我通常会在MySQL中为utf8设置所有内容:
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
沃梦达教程
本文标题为:java – 编码问题wirh JDBC和MySQL
基础教程推荐
猜你喜欢
- Spring中常用注解的详细介绍 2023-08-01
- Spring Boot 整合持久层之MyBatis 2023-04-12
- Java实现学生管理系统详解流程 2023-01-29
- Mybatis结果集映射与生命周期详细介绍 2023-06-10
- springboot如何通过不同的策略动态调用不同的实现类 2022-11-05
- Java servlet通过事件驱动进行高性能长轮询详解 2023-01-09
- RocketMQ消息发送流程源码剖析 2023-03-22
- SSM如何实现在Controller中添加事务管理 2022-11-05
- Springboot+Vue+axios实现文章收藏功能 2023-05-08
- SpringMVC域对象共享数据示例详解 2022-11-25