2013-04-03 17 views
1

我想要使用jruby和datamapper獲取數據形式的2008r2 MSSql服務器。
我到目前爲止唯一的問題是在jruby中正確的字符編碼。
數據庫使用Polish_CI_AS排序規則,測試字段填充爲:"ą ę ś ć"
從jruby中獲取該字段將導致:"uFFFD uFFFD uFFFD uFFFD"這些是utf-8的默認替換字符串。
我試着將-E變量設置爲windows-1250,它改變了顯示的字符,但是在Utf-8中它們以相同的方式顯示。還試圖包括#編碼:Windows-1250,但它也沒有幫助。
我很確定它與datamapper或db連接有關,但jdbc不支持(AFAIK)編碼變量。使用jruby與數據映射器不正確的編碼

UPDATE

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

+0

編碼是特定於驅動程序的。 MS SQL JDBC根據http://msdn.microsoft.com/en-us/library/ms378857.aspx –

+0

自動處理它你的連接字符串是什麼樣的? – rainkinz

回答

0

連接與MS JDBC效果很好,DataMapper的使用它使用UTF8編碼爲默認JTDS。

我檢查了jTDS文檔,發現我需要在連接字符串的末尾添加:charset=cp1250;屬性。現在一切正常。

相關問題