使用JavaProperties gem发出包含Unicode字符的读取文件

时间:2016-07-12 05:34:06

标签: ruby unicode properties

我在Ruby中有移动自动化代码,带有语言环境属性文件,代码使用JavaProperties::Properties.new(filename with path),它返回哈希值,我们通过提供属性名称来读取属性值。

最近 fr_CA.properties 文件已使用unicode字符进行更新,例如"Solde du dernier relev\u00E9"。更新后,我获得的是"Solde du dernier relevé"而不是"Solde du dernier relevé"

我需要一些帮助提供UTF-8转换类型的方式/位置。

快速帮助表示高度赞赏。

@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é"

1 个答案:

答案 0 :(得分:0)

好的,这是我得到的:

test.properties

item1 = Solde du dernier relev\u00E9

然后在Ruby中,

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

你应该尝试尽可能剥离有问题的代码,然后看看你是否继续收到错误。

顺便说一句,我认为您应该使用JavaProperties.load,而不是样本中的JavaProperties.new