2011-12-28 20 views
5

Bazı özellikler dosyalarını iso-8859-1'den utf-8'e dönüştürmeye çalışıyorum. Çoğu kaynak dosya için bir resource.control uygulayarak utf-8 kodlaması olarak okuyabilseydim.Yay kullanımı: özellikler - kodlamayı UTF-8 olarak değiştirebilir misiniz?

Use: properties etiketi kullanılarak ilkbaharda tanımlı özellikler dosyasında rastladım.

Varsayılan kodlamanın utf-8 olduğunu belirtmenin bir yolu olup olmadığını merak ediyordum? Bunu, ReloadableResourceBundleMessageSource ile fasülye olarak tanımlama olasılığına baktım, ancak bu, büyük bir refactoring işlemi gerektirecekti, çünkü buradaki mantık, haritanın bir harita olmasını bekliyor.

bahar kullanılarak tanımlanır 3.0.5

<util:properties id="fooProperties" location="file:${AXE_APPCONFIG}/foo.properties"/> 

ancak ben o bahar kodlamasını değiştirmek için bir yol ile gelip olabileceğini düşündüm, tanım java özelliklerine göre dosyaları iso-8859-1 kodlanmış olduğunu biliyoruz Bu (Resource.Control)

cevap

8

Geçenlerde PropertiesFactoryBean kullanarak aynı sorunu çözmüş haritaya dönüştürmek. Özellik dosyanızın kodlamasını belirtmeniz için bir genel ayarlayıcı yöntemi olan PropertiesLoaderSupport'un bir alt sınıfıdır.

<beans:bean id="nameOfYourPropsVar" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> 
    <beans:property name="location" value="classpath:${yourPropFileName}"/> 
    <beans:property name="fileEncoding" value="UTF-8"/> 
</beans:bean> 

klasik özellikler dosyaya o the api doc göre, sadece XML dosyaları için, geçerli olacağını unutmayın.

-1

Bunun mümkün olmadığını öğrendim. Yay her zaman (v3.0.5 itibariyle) ISO-8859-1 olan özellik dosyalarının varsayılan kodlamasını kullanır.

Alternatif, bir özellik nesnesi kullanmak ve sonra bunu bir haritaya dönüştürmektir.

Properties propsToLoad = new Properties(); 
InputStream stream = new FileInputStream("filename.properties"); 
propsToLoad.load(new InputStreamReader(stream,"UTF-8)); 

sonra

Map<String,String> mapYouWant = new HashMap<String,String>((Map) propsToLoad); 
İlgili konular