2012-11-08 9 views
8

मुझे नामों में उच्चारण के साथ लिनक्स (उबंटू) टर्मिनल में कुछ फ़ाइलों के साथ समस्या है। उदाहरण के लिए:यूटीएफ -8 फ़ाइल नाम वापस लिनक्स टर्मिनल में नहीं मिला

$ ls dir/ 
criação.png 

तो, टर्मिनल उस फ़ाइल को लौटाता है, इसलिए यह मौजूद है। अब देखते हैं कि फ़ाइल मौजूद है या नहीं, इस सरल कमांड के साथ:

$ [ -f criação.png ] && echo "File Exist" || echo "Not Exist" 
Not Exist 

जैसा कि आप देख सकते हैं, "मौजूद नहीं है"। अब, मैं पर OSX एक ही फ़ोल्डर और फ़ाइल है, तो मैं एक ही आदेश चला और यह इस रिटर्न:

$ [ -f criação.png ] && echo "File Exist" || echo "Not Exist" 
File Exist 

मैं एक छोटे से के बारे में स्थान पता:

$ 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= 

linux पर, " अस्तित्व में नहीं है ", ओएसएक्स पर," फाइल अस्तित्व "... किसी को पता है कि इसे कैसे ठीक किया जाए?

हो सकता है कि इन मदद कर सकते हैं:
http://nedbatchelder.com/blog/201106/filenames_with_accents.html
http://www.ruby-forum.com/topic/279105

अद्यतन - समाधान

मैं अंत में है कि समस्या का समाधान मिल गया।

cd dir/ 
convmv -r -i -f utf8 -t utf8 --nfc --notest . 

स्रोत:: http://blog.hbis.fr/2010/08/30/macox-utf8_filenames_normalization/

+0

मेरी समस्या nginx के साथ भी है। पूर्व: '2012/11/08 17:05:34 [त्रुटि] 12102 # 0: * 128 ओपन()"/usr/share/nginx/www/wp-content/uploads/2012/09/celular-inclusão- digital.png "असफल रहा (2: ऐसी कोई फ़ाइल या निर्देशिका नहीं), क्लाइंट: 66.249.76.145, सर्वर: site.com, अनुरोध:" GET/wp-content/uploads/2012/09/सेल्यूलर-समावेशी% C3% A3o- digital.png HTTP/1.1 ", होस्ट:" site.com "' – mateus007

+1

समाधान सही है (मैकोज़ एनएफडी का उपयोग करता है लेकिन मैकोज़ में शामिल होने पर संगतता की समस्याएं उत्पन्न करने के कारण सब कुछ और अधिक है), लेकिन आपको इसे उत्तर के रूप में पोस्ट करना चाहिए । आपका जवाब आपके द्वारा स्वीकार किए गए से अधिक सही है! – Celada

+0

'convmv -r -f iso8859-1 -t utf8 --nfc --notest .' यह विंडोज़ से लिनक्स तक एसएफटीपी द्वारा अपलोड किए गए उच्चारण के साथ मेरे फाइलनामों को ठीक करता है। –

उत्तर

1

कारणों में से एक फ़ाइल नाम हो सकता है की एक अलग यूनिकोड सामान्य रूप का उपयोग करता है आप एनएफसी को NFD से अपनी फ़ाइलें नाम बदलने की आवश्यकता है, यहाँ आदेश सभी फ़ाइलों को ठीक करने के लिए है नाम टाइप करने के लिए उपयोग किए जाने वाले संयोजन अंकों वाले वर्ण। Unicode Equivalence देखें।

+0

हाँ, मैंने कुछ आदेशों की कोशिश की, तो मुझे दुर्घटना में काम करने के लिए "चाल" मिली: 'एमवी क्रिएक <0327><0303> o.png criação.png'अब फ़ाइल मौजूद है। एनएफसी ई एनएफडी के बारे में कुछ है – mateus007

संबंधित मुद्दे