4
RSS 채널에서 데이터를 가져와 위생적으로 처리하고 데이터베이스에 저장합니다. 나는 자바, 깔끔한, MySQL과 JDBC를 사용한다.인코딩 문제 wirh JDBC 및 MySQL
단계 :
- 나는 RSS-기록을 잡아. 괜찮아.
- HTML을 깔끔하게 정리합니다. 다음은 하나의 변환입니다. Tidy는 "& # 8217"과 같은 문자열을 자동으로 변환하므로 "그렇게 할 여지가 없을 것"입니다.
- 내가 테이블에이 문자열을 저장
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";
자바 코드는 resu로
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 페이지)에 텍스트가 출력되는 것을 볼 수 있습니다.