2016-07-12 7 views
0

Rubyにロケールプロパティファイルのモバイルオートメーションコードがあり、コードがJavaProperties::Properties.new(filename with path)でハッシュを返しています。JavaProperties gemを使用してUnicode文字を含むファイルを読み込む際に問題が発生する

最近fr_CA.propertiesファイルが"Solde du dernier relev\u00E9"のようなユニコード文字で更新されました。更新後、"Solde du dernier relevé"ではなく"Solde du dernier relevé"という値が得られます。

私はUTF-8変換タイプを提供する方法や場所が必要です。

クイックヘルプは高く評価されています。

test.propertiesで:

@filePaths={ 
:pathTo_some_JavaProperties => @resourcesPath+"/service_"+locale+""+platform_fileName+".properties", 
:pathTo_locale_other_JavaProperties => @resourcesPath+"/MoblClient_XmlService"+locale+".properties" 
// more file paths 
} 

begin 
@someHash = JavaProperties::Properties.new(@filePaths.fetch(:pathTo_some_JavaProperties)) 
rescue Errno::ENOENT 
filesNotFound << @filePaths.fetch(:pathTo_some_JavaProperties) 
end 
// Reading value as @someHash['propName'] which is giving output as "Solde du dernier relevé" 
+0

あなたはどちらのRubyバージョンを使用していますか? –

+0

誤った動作を示す短いコードを提供できますか? –

+0

私の環境はMACとruby 2.0.0p353です。 – apparao

答えて

0

[OK]を、ここで私が取得しています何

item1 = Solde du dernier relev\u00E9 

次にRubyで、

> JavaProperties.load('test.properties')[:item1] 
# => "item1 Solde du dernier relevé" 

として剥奪としてあなたは、あなたの問題のあるコードを取得してみてください可能であれば、エラーが発生し続けるかどうかを確認してください。

ご参考までに、JavaProperties.loadで、JavaProperties.newではなくサンプルを使用してください。

+0

返事をありがとう。 – apparao

関連する問題