Java操作Mysql乱码问题


问题描述:
       
  • 数据库:数据库编码:UTF-8,表编码UTF-8,问题字段编码UTF-8,字段类型blob,存储的为字符串经过compress后的内容,取的时候用uncompress解压缩
  • 工程环境编码:UTF-8,编译好的class编码 UTF-8
  • 连接中不管加不加useUnicode=true&characterEncoding=UTF-8,rs.getString()取出来的都含有乱码,比如其中的“with Janessa Paré”会变为“----with Janessa Par��”。


初步怀疑是压缩与解压缩的时候数据库内部对字符编码进行过处理,以至于出现乱码。

解决办法:
  • 设值的时候使用 ps.setBytes(1, " ----with Janessa Paré".getBytes("UTF-8"))
  • 取值的时候使用rs.getBytes(),然后转为String即可。

你可能感兴趣的:(java,mysql,乱码)