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