webhook的mysql中出现character\x92错误

8ftvxx2r  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(314)

我在spring启动应用程序中遇到一个sql异常 Caused by: java.sql.SQLException: Incorrect string value: '\x92s.","...' for column 'json' at row 1 . 这很可能意味着我从webhook获取的数据是拉丁语-1或windows1252。我确实看到两种撇号 ' 以及 . 我的数据库设置为 utf8mb4 .
我觉得这有点奇怪,因为我过去常常从另一个Angular 得到错误。如何签入发送的数据编码?/我怎样才能解决这个问题?
webhook来自typeform。当我通过“testwebhook”发送测试请求时,我看到了各种 \u2019 当我查看chromedev工具中的response header选项卡时,会看到类似的代码。所以这必须是unicode。我有点困惑,为什么mysql会把它解释为拉丁语-1。
当我在保存字符串之前在后端打印它时,我看到它是unicode格式的。为什么?因为以下原因:这个词 collega's 写为 \x63\x6f\x6c\x6c\x65\x67\x65\x61\x27\x73 在unicode中(请参阅此处的转换器),这是 99 111 108 108 101 103 97 39 115 十进制。这就是我得到的。这个 \xe2\x80\x99 或十进制 226 128 153 .
当我调试 Mysql.IO.class 我看到字符编码是 WINDOWS-1252 . 那是罪魁祸首,但这一套呢?隐马尔可夫模型。。。不知何故,jdbc驱动程序在 Connectionimpl.class .

String encoding = null;
if (this.getUseUnicode()) {
  encoding = this.getEncoding();
}
cclgggtu

cclgggtu1#

真 的。。。问题是在我的开发版本中,我没有在url中指定字符编码。然而,我在我的产品构建中做到了这一点。这就是为什么它在生产中工作而不是在开发中。
我需要从我的生产环境中添加查询参数,这些参数是: useUnicode=true&characterEncoding=utf8 .

相关问题