Linux (Ubuntu) terminalindeki bazı dosyalarda isimlerde aksanlarla ilgili bir sorunum var. Örneğin,UTF-8 Dosya adı dönüşü yok linux terminalinde bulunamadı
$ ls dir/
criação.png
Böylece, terminal bu dosyayı döndürür, dolayısıyla var olur. Gördüğünüz gibi
$ [ -f criação.png ] && echo "File Exist" || echo "Not Exist"
Not Exist
, "Not var": Artık dosya varsa bu basit komutla, bakalım. Şimdi, ben OSX aynı klasör ve dosya, o zaman aynı komutunu çalıştırın ve bu döndürür:
$ [ -f criação.png ] && echo "File Exist" || echo "Not Exist"
File Exist
Biraz yaklaşık
yerel biliyorum:
linux üzerinde
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
, " Varolmayan ", OSX'de" Dosya Var "... Birisi bunu düzeltmeyi biliyor mu?
Belki bu yardımcı olabilir:http://nedbatchelder.com/blog/201106/filenames_with_accents.html
http://www.ruby-forum.com/topic/279105
UPDATE - Çözüm
Sonunda bu sorun için bir çözüm buldular.
cd dir/
convmv -r -i -f utf8 -t utf8 --nfc --notest .
Kaynak: nedenlerinden http://blog.hbis.fr/2010/08/30/macox-utf8_filenames_normalization/
Sorunum da nginx ile. Ör: '2012/11/08 17:05:34 [hata] 12102 # 0: * 128 açık()"/usr/share/nginx/www/wp-content/uploads/2012/09/celular-inclusão- digital.png "başarısız (2: Böyle bir dosya veya dizin yok), istemci: 66.249.76.145, sunucu: site.com, istek:" GET/wp-content/uploads/2012/09/celular-inclus% C3% A3o- digital.png HTTP/1.1 ", host:" site.com "' – mateus007
Çözüm doğrudur (MacOS, NFD'yi kullanır, ancak hemen hemen her şey, MacOS söz konusu olduğunda uyumluluk sorunlarına neden olan NFC kullanır), ancak bir yanıt olarak göndermelisiniz . Cevabınız kabul ettiğinizden daha doğru! – Celada
'convmv -r -f iso8859-1 -t utf8 --nfc --notest .' Dosyalamlarımı Windows'tan Linux'a SFTP tarafından yüklenen aksanlı olarak düzeltir. –