debezium 服务器中的德语变音符号

Posted

技术标签:

【中文标题】debezium 服务器中的德语变音符号【英文标题】:German umlaut in debezium server 【发布时间】:2021-12-01 20:48:56 【问题描述】:

我正在使用 debezium-server 将更改从 ms sql server 流式传输到 Azure 事件中心。 然而像Ü这样的德语变音符号被发送为��。

我已尝试将 sql server 中的文本列格式化为 utf8latin1 但结果保持不变。

【问题讨论】:

如果这是一个 SQL Server 排序规则问题,那么 Ü (U+00DC) 将被存储为 ??? (实际的 ASCII 问号字符),但既然你是看到 Missing Glyph characters �� 这似乎是 Debezium 中的配置问题。 不要误会我的意思,虽然这是一个很好的提示,但它并没有真正解决问题。找到解决方案后,我可以在此处发布。 【参考方案1】:

谢谢AlwaysLearning。发布您的建议作为帮助其他社区成员的答案。

如果这是 SQL Server 排序规则问题,则 Ü (U+00DC) 将存储为 ???(实际 ASCII 问号字符),但由于您看到的是缺少字形字符 � � 这似乎是 Debeziu 中的配置问题

可以参考Azure SQL / SQL Server Change Stream with Debezium

【讨论】:

【参考方案2】:

通过使用以下命令启动 Debezium Dockerfile 可以解决此问题:

environment:
  JAVA_OPTS: -Dfile.encoding=UTF-8

它实际上是一个 java 环境变量。

在 Debezium 1.7.1.Final 上测试。

【讨论】:

以上是关于debezium 服务器中的德语变音符号的主要内容,如果未能解决你的问题,请参考以下文章

PDF中的德语变音符号

使用德语变音符号和名称中的逗号时显示错误的电子邮件接收器

带有德语变音符号的 JSON Jackson + HTTPClient

sap.ui.core.util.Export 与德语变音符号

带有德语变音符号的 NSJSONSerialization 异常

使用 utf8_general_ci 排序规则和 utf8 字符集服务器的德语变音符号的搜索结果区分大小写