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