SORU
2 Mayıs 2011, PAZARTESİ


git,, aksan msysgit, utf-8, kesin cevaplar

Git (veya sadece msysgit?) ile ilgili sorunlar olduğunu bazı yerlerde okumuştum ve karakter kodlaması - beninanıyorumyalnızca dosya adları için bir sorun teşkil ediyor.

İstediğim şey biraz 'kesin (ya da en azından yetkili)' hakkında bilgi:

  1. Tam olarak nedir sorun? (Belirtiler)
  2. Sebepleri nelerdir? (Kısaca)
  3. Ne senaryolar bu bir gösteri tıpa.
  4. Görünürde herhangi bir çözümü yoktur, ya da herhangi bir geçici çözüm bu kalıyor?

Bu soru pek anlaşılır değil umarım, tek bir yerde tüm bu bilgileri insanların onu işaret edebilmek için iyi olacağını düşünüyorum

CEVAP
2 Mayıs 2011, PAZARTESİ


Güncelleştirme Ağustos 2014 (gıt 2.1): commit a67c821 (Torsten Bögershausen (tboegi)) Unicode için destek ekler 7.0.

Güncelleme Nisan 2014: commit d813ab9 (Torsten Bögershausen (tboegi)) Unicode için destek ekler 6.3
(gıt 1.9.2):

Unicode 6.3 birleştirerek veya aksan olarak daha fazla kod noktaları tanımlar.
Örneğin, "ö" olarak ifade edilebilir "o" U 0308 COMBINING DIARESIS (aka özgü, nokta yukarıda çift) izledi. karakter
İki codepoints böyle bir dizi hizalama amaçlı bir ekran sütunu kaplar ve bu, git_wcwidth() onlar için 0 dönmelidir için düşünmeliyiz.

Etkilenen codepoints

U 0358..U 035C
U 0487
U 05A2, U 05BA, U 05C5, U 05C7
U 0604, U 0616..U 061A, U 0659..U 065F

Daha önce bu unicode standartları olarak tanımlanan "" ayrılmış.

0..U 07FF bu hazırlanırken 0-genişlik olarak işaretlenmesi gereken görmek için kontrol edildikten aralığı taahhüt; daha fazla güncelleştirme gerekli olabilir.


Güncelleme Nisan 2012: Unicode desteği sürüm 1.7.10 yayınlandı. Ayarlamanız gereken notlar ve ayarlar için this page bkz.

Yani:

git config [--global] core.quotepath off
git config [--global] i18n.logoutputencoding utf8
git config [--global] i18n.commitencoding utf8
git config [--global] --unset svn.pathnameencoding

recodetree check komut git deposu tüm geçmişi tarar ve ASCII olmayan tüm dosya adlarını yazdırır. Eğer çıkış boşsa, hiçbir geçiş gereklidir.


Güncelleme Şubat 2012: UTF-8 destekler dalında 'devel' Update less settings for UTF-8 dahil msysgit repo on GitHub geliyor yamalar

Windows için Gıt sayfa bahseder Google:

Karsten Blees' UTF-8 için Windows Gıt için yamalar şimdi birleştirildi 'devel'.
Bu yakında çıkacak Unicode dosya desteği olacak!


Mayıs 2011

msysgit issue 80 Bu hata son vardır inanıyorum.
Ayrıca issue 376 nitelendirdi.

Örneğin:

Bu ne olacağını

  1. Windows gıt dosya isimleri üzerinde çalışır ve aslında bayt akışı olarak değerlendirir. Sizin durumunuzda, dere UTF8 kodlanmış metin.

  2. Windows gıt zamanı bir dosya oluşturmak için sorar, ve bayt akışı geçer.

  3. DAHİLİ olarak Windows her şeyi Unicode olduğu için, çalışma zamanı bayt dönüştürür UTF16 şu anda ayarlanan yerel ayarı kullanarak akış ("") kod sayfası. aka
    Bu, etkili bir şekilde (Kore) CP949 kodlanmış metin olarak bayt akışına yorumlar.
    Görünüşe göre, bazı UTF8 bayt dizisi geçersiz CP949 dizileri ve dönüşüm başarısız ("Geçersiz bağımsız değişken"); ya da eğer UTF8 dizileri oldu da doğru CP949 dizileri, sonucudur (büyük olasılıkla) farklı bir karakter.

Gerçek düzeltmeMingW olsa gerekir:

Tek çözüm bu olur bu olur: GCC C çalışma zaman çözmek kütüphane düzeyde.
Bunun için mingw GCC çalışma zamanı kitaplığı, Windows, olun, üzerinden inşa zamanı seçenekleri bir mod nerede komut satırı parametreleri (geçti main()) ve dosya g/Ç işlevleri kullanma temel Windows Unicode API çağrıları, ve tercüme/UTF-8 kodlaması C standart fonksiyon API kullanan bayt dizeleri.
Bu "iş" için belki faydalı olabilir Linux kaynaklı açık kaynak kodlu Windows ortamında çalışan diğer gıt.

24* *ak2 yorum bunu düzeltmek için doğru yer değil:

"MinGW Derleyiciler Microsoft C çalışma zamanı işlevselliğini erişim ve bazı özel dil çalışma sağlar.
MinGW, Minimalist olmak, ve asla, MS-Windows, POSIX uygulama dağıtımı için POSIX çalışma ortamı sağlamak için denemez.
Eğer bu platform üzerinde uygulama dağıtımı POSIX istiyorsanız, bunun yerine özellik listesi göz önünde bulundurun lütfen."

msysgit variant to support unicode bir ilerleme içinde bazı işler var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • Rayone GB

    Rayone GB

    14 Temmuz 2007