যেমনটি অন্যদের দ্বারা উল্লিখিত হয়েছে, এর কোনও উত্তর নেই: ফাইলের নাম এবং পাথগুলিতে কোনও এনকোডিং নেই; ওএস কেবল বাইটের ক্রম নিয়ে কাজ করে। পৃথক অ্যাপ্লিকেশনগুলি কোনও উপায়ে এনকোড হওয়া হিসাবে তাদের ব্যাখ্যা করতে বেছে নিতে পারে, তবে এটি পরিবর্তিত হয়।
বিশেষত, গ্লিব (Gtk + অ্যাপ্লিকেশন দ্বারা ব্যবহৃত) ধরে নেওয়া হয় যে সমস্ত ফাইলের নাম ইউটিএফ -8 এনকোডযুক্ত, ব্যবহারকারীর লোকেশন নির্বিশেষে । এটি পরিবেশ ভেরিয়েবল G_FILENAME_ENCODING এবং G_BROKEN_FILENAMES দিয়ে ওভাররাইড করা হতে পারে ।
অন্যদিকে, Qt ধরে নেওয়া ডিফল্ট যে সমস্ত ফাইলের নাম বর্তমান ব্যবহারকারীর লোকালে এনকোড করা আছে । একটি পৃথক অ্যাপ্লিকেশন এই অনুমানটিকে ওভাররাইড করতে বেছে নিতে পারে, যদিও আমি এটি করার কোনও কিছুই জানি না এবং কোনও বাহ্যিক ওভাররাইড সুইচ নেই is
আধুনিক লিনাক্স বিতরণগুলি এমনভাবে সেট আপ করা হয়েছে যে সমস্ত ব্যবহারকারীরা ইউটিএফ -8 লোকেল ব্যবহার করছে এবং বিদেশী ফাইল সিস্টেমের মাউন্টগুলিতে পাথগুলি ইউটিএফ -8 এ অনুবাদ করা হয়, সুতরাং কৌশলগুলির মধ্যে এই পার্থক্যের কোনও প্রভাব নেই। তবে, আপনি যদি সত্যিই নিরাপদ থাকতে চান, তবে আপনি "এনএলএল-টার্মিনেটেড, '/' - বাইটের সীমাবদ্ধ ক্রম" এর বাইরে ফাইল নামগুলি সম্পর্কে কোনও কাঠামো ধরে নিতে পারবেন না।
(এছাড়াও দ্রষ্টব্য: প্রক্রিয়া অনুসারে লোকেল পৃথক হতে পারে same একই ব্যবহারকারী দ্বারা চালিত দুটি পৃথক প্রক্রিয়া কেবল ভিন্ন ভিন্ন পরিবেশের ভেরিয়েবল সেট করে বিভিন্ন লোকেলে থাকতে পারে))