1

我正在尝试使用 jruby 和 datamapper 从 2008r2 MSSql 服务器获取数据。
到目前为止,我遇到的唯一问题是 jruby 中的正确字符编码。
数据库使用 Polish_CI_AS 排序规则,测试字段填充:"ą ę ś ć".
从 jruby 中获取该字段会导致:"uFFFD uFFFD uFFFD uFFFD"这是 utf-8 的默认替换字符串。
我尝试将 -E 变量设置为 windows-1250,它会更改显示的字符,但与在 Utf-8 中它们的显示方式相同。还尝试包含 # encoding: Windows-1250,但它也无济于事。
我很确定它与数据映射器或数据库连接有关,但 jdbc 不支持(AFAIK)编码变量。

更新

我的连接字符串:DataMapper.setup(:default, 'sqlserver://servername/database;instance=InstanceName;domain=DOMAIN')

4

1 回答 1

0

该连接适用于 MS JDBC,datamapper 使用默认使用 UTF8 编码的 jTDS。

我检查了 jTDS 文档,发现我需要charset=cp1250;在连接字符串的末尾添加:属性。现在一切都很好。

于 2013-04-07T12:18:20.153 回答