이모티콘을 mysql에 저장할 때 자바 애플리케이션에서 다음 방식을 사용했다.
* A 서버
mysql connector java : 5.1.21 환경
update set names utfmd4를 사용하지 않고 이모티콘을 잘 저장했다.
(테이블은 utf8, 컬럼은 utfmd4이었다)
* B 서버
mysql connector java : 5.1.35 환경
update set names utfmd4를 사용해야 이모티콘을 잘 저장했다
(테이블은 utf8, 컬럼은 utfmd4이었다)
public boolean updateDNS(final DNS dns) {
return transactionTemplate.execute(new TransactionParamBuilder().add(masterJdbcTemplate).build(), new TransactionCallback<Integer>() {
@Override
public Integer doInTransaction() {
masterJdbcTemplate.update("SET NAMES utf8mb4");
String sql = "UPDATE dns SET lang=?, type=?, content=?, status=? WHERE id=?";
return masterJdbcTemplate.update(sql, dns.lang, dns.type, dns.content, 1, dns.id);
}
}) > 0;
}
아마도..다음 이슈때문은 아닌지... 예상만 한다.
https://dev.mysql.com/doc/relnotes/connector-j/5.1/en/news-5-1-33.html
The 4-byte UTF8 (utfbmb4) character encoding could not be used with Connector/J when the server collation was set to anything other than the default value (utf8mb4_general_ci). This fix makes Connector/J detect and set the proper character mapping for any utfmb4 collation. (Bug #19479242, Bug #73663)
'general java' 카테고리의 다른 글
[apache common collection] UnmodifiableMap.decorate 예제 (0) | 2017.06.16 |
---|---|
multipart/form-data; boundary 예제 - curl. java apache http 라이브러리 (0) | 2017.06.09 |
mysql driver 버전 5에서 버전 6로 변경시 이슈 (0) | 2017.04.11 |
[spring] ClassPathBeanDefinitionScanner 사용과 관련된 spring3에서 spring4의 큰 변화 (0) | 2017.03.27 |
[spring] @Scheduled-fixedDelayString 예시와 annot parse into integer 문제 해결 (0) | 2017.03.11 |