Unicode metni Notepad ++ ile nasıl düzenleyebilirim?


26

Bazen Unicode karakterler içeren İngilizce metinleri düzenlerim. Nedense, PC'mde Notepad ++, Unicode karakterlerini ??? 'ye dönüştürür, böylece metni bozar ve tüm bu verileri kaybeder. Unicode karakterleri korurken, bu metni düzenlemenin bir yolunu arıyorum. Yazı tipi olarak Consolas kullanıyorum . Yazı tipinde bu karakterlerin tümü yoksa, metni Notepad ++ 'dan kopyaladığımda neden veriyi kaybedeyim?


Unicode'u desteklemeyen bir eklenti kullanıyor olabilir misiniz?
Ivo Flipse,

O kutularda soru işaretleri varsa, o zaman eksik glifler için yazı tipi glif aslında var ve verileriniz olduğunu değil kaybetti.
Joey

Hayır kutulara değil, düz '?' karakter. Onaylandı.
Robinicks

1
yazı tipini değiştirmeniz gerekebilir. bkz superuser.com/questions/16831/...
RamyenHead

Yanıtlar:


15

Dosya gerçekten Unicode'da kodlanmışsa, Notepad ++ otomatik olarak algılamalıdır. Consolas yazı benim için iyi çalışır. Bu iki menü seçeneğinden birini deneyebilirsiniz:

  • Kodlama -> UTF-8'de Kodlama
  • Kodlama -> UTF-8'e Dönüştür

Birinin istediğini yapacağına eminim.


Format menüsüm yok.
Val

1
Posterity için, Formatlama'ya değil, Kodlama menüsüne ihtiyacınız var
Ken Bellows

15

Soruda açıklanan sorun, boş / yeni bir belge "ANSI" olarak ayarlandığında ve Unicode karakterlerin içine yapıştırıldığında meydana gelir.

Boş / yeni bir belge ile kullanıldığında en azından Notepad ++ sürümünde kullanılmayan bir otomatik algılama yoktur (v5.4.5). "ANSI", AyarlarTercihler → sekmesi Yeni Belge / Dizini Kaydet menüsünde ayarlanmadıkça, yeni bir belge için Not Defteri ++ 'daki varsayılan değerdir .

Çözüm

Çözüm kodlamayı yapıştırmadan önce UTF-8 olarak ayarlamak, UTF-8'de FormatEncode menüsü :

Yaklaşık "UTF-8’de Biçimlendir / Kodla" menüsü komutu

Örnek

Firefox’tan yeni bir Notepad ++ belgesine Rusça (русский язык, russkiy yazyk) , Firefox’tan Wikipedia sayfasını gösteren Rusça dilini kopyaladım .

Kodlama ise değil "ANSI" olarak değiştirildi bu sonucudur:

Unicode string'in "Russian (русский язык, russkiy yazyk") kodunu varsayılan "ANSI" den kodlamayı değiştirmeden yeni bir Notepad ++ belgesine yapıştırma sonucu.

Kodlama Eğer edilir değişti bu sonucudur:

Kodlamayı varsayılan "ANSI" den "UTF-8" ye değiştirdikten sonra, Unicode string "Russian (русский язык, russkiy yazyk" dizesini yeni bir Notepad ++ belgesine yapıştırma sonucu.

Aşağıdaki şekilde görülebileceği gibi ( Kiril kısım vurgulanır), Notepad ++ aslında Unicode karakterleri ASCII 63'e (onaltılık 3F), soru işaretlerine dönüştürür. Bu nedenle, metin panodan kopyalanırken Unicode karakterleri ( "ANSI" modunda) kaybolur ( yazı tipi sorunu değildir - bilgi kaybolur).

Söz konusu belgenin onaltılı görünümünün ekran görüntüsü

Üzerinde test edildi: Notepad ++ v5.4.5 (UNICODE).


5

İyi haberler ve kötü haberler var.

İyi haber: Notepad ++, Unicode'u destekler (en azından toplayabildiğimden).

Kötü haber: Görünüşe göre Unicode desteği yalnızca Windows XP'de.

Aslında önümde bir Windows makinesi yok. Hatırladığım kadarıyla, bir yerde Format menüsünün altında bir Kodlama menüsü var. Unicode için kodlama aslında en yaygın UTF-8'dir.

İşte Notepad ++ 'da Unicode desteğinin' güzel 'bir resmi,

görüntü tanımını buraya girin


3

Unicode, Windows 7'de mükemmel çalışıyor. Görünen tek sorun, değiştirilen karakterleri yeniden yazmak zorunda olmanız. Başıma geldi. İskandinav harfleriyle yazıyorum bu yüzden ä -> E4, ö -> F6. Hepsini değiştirmek için popo bir acı, ama buna değer.

Bir sayfayı ANSI -> UTF-8'den kodlarsanız, bazı karakter problemleri olacaktır.

Öncelikle UTF-8'de yeni bir sayfa oluşturup daha sonra bilgilerinizi kopyala / yapıştır yapmanı öneririm. O zaman sorun olmaz / olmaz.


1

Bu benim için çalıştı:

Yazı tipini bilgisayarımdaki Courier New in stil konfigüratörü olarak değiştirdim (Windows 7, ingilizce / ABD karakter seti ile ve Unicode olmayan küme için Romence). Courier New & Tahoma fontları + UTF-8 kodlaması ile çalışıyor.


0

Üst menüden Encodingseçiminizi yapın Encode in UTF-8veya Encode in UTF-8 Without BOMardından Unicode kodlamasında metni düzenleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.