从 Pentaho DI 设置 Firebird 连接的字符集

Set the charset for Firebird connection from Pentaho DI

我正在尝试使用 Pentaho DI 为我的 Firebird 连接设置连接 Charset,但仍然无法以正确的编码读取数据。

我使用了很多参数,比如 encoding , charSet,...等等,但没有成功。

纠正我错过了什么?

您需要使用 encodingFirebird 字符集名称,或者 charSetJava字符集名称(*).

WIN1256 不是有效的 Java 字符集名称,因此连接将失败。如果指定 charSet,则需要使用 Java 名称 Cp1256 或 - 对于 Jaybird 2.2.1 或更新版本 - windows-1256.

如果这不起作用,那么 Pentaho 没有正确传递连接属性,或者您的数据存储在字符集 NONE 的列中,编码与 WIN1256 不同(或更糟: 存储在字符集 WIN1256 的列中,但数据实际上是不同的编码)。

*:从技术上讲,您可以组合使用 encodingcharSet,但它仅适用于您希望 Firebird 以一种字符集读取数据,并让 Jaybird 以另一种字符集进行解释的特殊用例字符集。