从 Pentaho DI 设置 Firebird 连接的字符集
Set the charset for Firebird connection from Pentaho DI
我正在尝试使用 Pentaho DI
为我的 Firebird
连接设置连接 Charset
,但仍然无法以正确的编码读取数据。
我使用了很多参数,比如 encoding
, charSet
,...等等,但没有成功。
纠正我错过了什么?
您需要使用 encoding
和 Firebird 字符集名称,或者 charSet
和 Java字符集名称(*).
WIN1256
不是有效的 Java 字符集名称,因此连接将失败。如果指定 charSet
,则需要使用 Java 名称 Cp1256
或 - 对于 Jaybird 2.2.1 或更新版本 - windows-1256
.
如果这不起作用,那么 Pentaho 没有正确传递连接属性,或者您的数据存储在字符集 NONE
的列中,编码与 WIN1256
不同(或更糟: 存储在字符集 WIN1256
的列中,但数据实际上是不同的编码)。
*:从技术上讲,您可以组合使用 encoding
和 charSet
,但它仅适用于您希望 Firebird 以一种字符集读取数据,并让 Jaybird 以另一种字符集进行解释的特殊用例字符集。
我正在尝试使用 Pentaho DI
为我的 Firebird
连接设置连接 Charset
,但仍然无法以正确的编码读取数据。
我使用了很多参数,比如 encoding
, charSet
,...等等,但没有成功。
纠正我错过了什么?
您需要使用 encoding
和 Firebird 字符集名称,或者 charSet
和 Java字符集名称(*).
WIN1256
不是有效的 Java 字符集名称,因此连接将失败。如果指定 charSet
,则需要使用 Java 名称 Cp1256
或 - 对于 Jaybird 2.2.1 或更新版本 - windows-1256
.
如果这不起作用,那么 Pentaho 没有正确传递连接属性,或者您的数据存储在字符集 NONE
的列中,编码与 WIN1256
不同(或更糟: 存储在字符集 WIN1256
的列中,但数据实际上是不同的编码)。
*:从技术上讲,您可以组合使用 encoding
和 charSet
,但它仅适用于您希望 Firebird 以一种字符集读取数据,并让 Jaybird 以另一种字符集进行解释的特殊用例字符集。