2016-07-12 6 views
0

Ich habe mobilen Automatisierungscode in Ruby mit Gebietsschema Eigenschaftendateien und Code verwendet JavaProperties::Properties.new(filename with path), die Hash zurückgibt und wir lesen Eigenschaftswert durch Bereitstellung von Eigenschaftsname.Problem beim Lesen von Dateien mit Unicode-Zeichen mit JavaProperties Gem

Kürzlich fr_CA.properties Datei wurde mit Unicode-Zeichen aktualisiert, so etwas wie "Solde du dernier relev\u00E9". Nach dem Update bekomme ich den Wert "Solde du dernier relevé" statt "Solde du dernier relevé".

Ich brauche Hilfe wie/UTF-8-Konvertierungstyp bereitzustellen.

Schnelle Hilfe sehr geschätzt.

@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

Welche Ruby-Version verwenden Sie? –

+0

Können Sie ein kurzes Stück Code angeben, das das fehlerhafte Verhalten zeigt? –

+0

Meine Umgebung ist MAC und Ruby 2.0.0p353. – apparao

Antwort

0

Ok, hier ist was ich bekomme:

In test.properties:

item1 = Solde du dernier relev\u00E9 

Dann in Ruby,

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

Sie sollten versuchen, Ihren problematischen Code bekommen als gestrippt als möglich, und dann sehen Sie, ob Sie den Fehler erhalten.

BTW, ich denke, Sie sollten JavaProperties.load, nicht JavaProperties.new wie in Ihrer Probe verwenden.

+0

Danke für die Antwort. – apparao