Lütfen nasıl olduğunu neden sormadığımı unutmayın. Ve RCP'ye özgü bir problem mi, yoksa java'ya özgü bir şey mi bilmiyorum.Java kaynak dosyalarında neden unicode'dan kurtulmam gerekiyor?
Java kaynak dosyam UTF-8 olarak kodlanmış.
Bu gibi benim edebi dizeleri tanımlarsanız:
: beklediğim gibi bir Eclipse uygulama olarak Eclipse onu başlatarak uygulamada dize kullandığınızdanew Language("fr", "Français"),
new Language("zh", "中文")
Çalışıyor
"Eclipse Ürün Verme Sihirbazı" tarafından oluşturulan .exe'yi başlattığımda başarısız olursa:
kullandığım çözüm böyle karakter kaçmak etmektir: Bu yapmanın hiçbir sorun yok
new Language("fr", "Fran\u00e7ais"), // Français
new Language("zh", "\u4e2d\u6587") // 中文
ama (bütün diğer dizeleri, özellikleri dosyalarında sadece isimleri önceden kodlanmıştır dillerdir) Anlamaktan hoşlanırım.
Derleyicinin, the bytecode'u oluştururken java hazır dizelerini dönüştürmek zorunda olduğunu düşündüm. Peki neden unicode kaçmak gerekli? Java kaynak dosyalarında yüksek aralıklı unicode karakterlerini kullanmak yanlış mıdır? Derlemelerde ve kaçan karakterlerin işlenmesinden farklı olan karakterlere tam olarak ne olur? Sorun sadece RCP önbelleği ile ilgili mi?
Eclipse Ürün İhracat Sihirbazı UTF-8 olarak dosyalarınızı yorumlama olmadığını görünen eklentinin build.properties dosyasında metin kodlamasını belirterek düzgün çalışması için yapılabilir. Belki de Eclipse'in JVM'sini UTF-8'e ('eclipse.ini' içinde' -Dfile.encoding = UTF8 ') ayarlanmış olarak çalıştırmanız gerekir. –
Bu, neden olduğunu açıklayamasa da, alternatif bir çözüm önermektedir ve her ne sebepten olursa olsun ihracat sihirbazının projenin kodlamasını doğru bir şekilde yerine getirmediğine işaret etmektedir: http://stackoverflow.com/questions/6891079/eclipse- rcp-yanlış-kodlama-ürün-dağıtım-ürün- – Jiddo
@Matt Ball'ın açıklamasını doğrulamak için, cadı doğru olduğunu düşünüyorum, sihirbazda şu seçeneği ayarlamayı deneyin: "Çalışma alanında derlenmiş sınıf dosyalarını kullan" –