Herkese merhaba,

Çoğunlukla karşılaştığım türkçe karakter sorununa genel bir çözüm aramaktayım, text dosyalarının okuyup biryerlere yazdırdığımda her zaman 'dörtgen içinde soru işareti' bilinmeyen karakter ile karşılaşıyorum.

Konu ile ilgili bilgisi olan arkadaşlardan yardım rica ediyorum.Şimdiden teşekkürler.

Örn : `

    public void getSelectedFile() {

        BufferedReader br;
        try {
            String getFileFrom = file.getAbsolutePath() + File.separator + selectedItem;
            br = new BufferedReader(new FileReader(getFileFrom));
            textArea.read(br, Charset.defaultCharset());
/*
*Charset charset = Charset.forName("UTF-8"); veya 
*textArea.read(br, "UTF-8"); de denedim yine aynı sonuç
*/
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();

        }

    }`

soruldu: 11 Ara '16, 10:30

Coder%20ACJHP's gravatar image

Coder ACJHP
3181311
cevap kabul oranı: 18%

değiştirildi: 11 Ara '16, 10:34


Dosyanın karakter kodlamasını doğru tespit etmen gerekiyor. Eğer dosyayı her seferinde kendin yazıp okuyorsan her zaman UTF-8 kullanarak Türkçe karakter problemini çözebilirsin. Fakat farklı kaynaklardan alıyorsan o zaman dosyanın karakter kodlamasını bir şekilde tespit etmen gerekiyor.

Örneğin dosya UTF-8 olarak kaydedilmiş olsun. O zaman ASCII karakterleri 1 byte, diğer tüm karakterler 2 byte olarak hesaplanır (örn: https://mothereff.in/byte-counter) Dosyayı karakter katakter okutarak şuanki karakterin ASCII karakteri veya UTF-8 karakteri olup olmadığını anlayabilirsin. İşe yarayan örnekleri googleda "read utf-8 encoded file in java" şeklinde aratarak bulabilirsin.

Dosyanın otomatik olarak UTF-8, ISO-8859-9, ISO-8859-1, Windows-1254 vs belirlenmesini ŞU kütüphaneyi kullanarak halledebilirsin diye düşünüyorum.

permanent link

cevaplandı: 12 Ara '16, 02:52

kodmanyagha's gravatar image

kodmanyagha
3.6k152856
cevap kabul oranı: 17%

Detaylı cevabın için teşekkür ederim, şunu da belirtmek isterim ki dosyayı kendim yazıp okuyorum(UTF-8) ama aynı sorunum devam ediyor.Şimdi gösterdiğin lib ile deneme yapacağım umarım çözülür :)

(13 Ara '16, 04:25) Coder ACJHP Coder%20ACJHP's gravatar image

+1 güzel cevap için

(13 Ara '16, 05:31) Coder ACJHP Coder%20ACJHP's gravatar image

teşekkür ederim

(13 Ara '16, 06:35) kodmanyagha kodmanyagha's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,103
×3
×1

Soruldu: 11 Ara '16, 10:30

Görüntüleme: 83 kez

Son güncelleme: 13 Ara '16, 06:35

powered by BitNami OSQA