首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用latin1_swedish_ci读取MySQL中的MyBatis文本

问使用latin1_swedish_ci读取MySQL中的MyBatis文本
EN

Stack Overflow用户
提问于 2017-11-27 07:10:43
回答 2查看 333关注 0票数 0

我使用Mybatis连接到MySQL数据库,有些列使用latin1_swedish_ci作为字符编码,在询问数据库时会产生奇怪的文本。

我试图更改java代码上的编码,但没有任何解决方案适合我。

我试过的是:

代码语言:javascript
复制
ByteBuffer byteBuffer = Charset.forName("UTF-8").encode(myString)

或者:

代码语言:javascript
复制
byte ptext[] = myString.getBytes("latin1");
String value = new String(ptext, "UTF-8");

有什么解决方案来获取UTF8编码上的数据吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-28 07:44:40

我发现了,对任何有这个问题的人来说,在我的例子中,字符应该是阿拉伯语的,我通过:

  • 在配置文件中,我将连接字符串更改为 jdbc:mysql://path.to.db?useUnicode=true&characterEncoding=utf8
  • 每当我需要可读的格式的文本时,我就使用以下内容 String readableString =新字符串(dbString.getBytes(“8859_1”),"Cp1256");
票数 0
EN

Stack Overflow用户

发布于 2017-11-27 18:19:38

使用utf8连接,而不是latin1连接。MySQL将在读取latin1列时进行转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47505545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档