সম্পাদনা: আমি ভুল ছিলাম;)
cmd.exe
গ্রহণ করেন হল UTF-8 কিন্তু আপনি এটি সংরক্ষণ নিশ্চিত করা প্রয়োজন ছাড়াBOM
ফাইল শুরুতে।
এখানে একটি দ্বিতীয় পরীক্ষা। আপনি chcp 65001
আপনার ব্যাচ-ফাইলের শুরুতে ব্যবহার করতে পারেন ।
একটি ব্যাচের ফাইলটি ইউটিএফ -8 প্রকারের হতে পারে না । এএসসিআইআই হওয়া দরকার। Cmd.exe
শুধু অন্য ফর্ম্যাট গ্রহণ করে না। আমি একটি ছোট পরীক্ষা করেছি এবং আপনি আপনার অক্ষরগুলি ব্যবহার করতে পারেন তবে এটির জন্য কিছু কাজ দরকার।
test.bat
দিয়ে একটি ফাইল তৈরি করুন echo Å Ä Ö
। বিন্যাস সহ এটি সংরক্ষণ করুন ANSI/ASCII
। একটি খুলুন cmd.exe
এবং নিশ্চিত করুন যে আপনার cmd.exe
ব্যবহারগুলি Lucida Console
(ইউনিকোডের অক্ষরগুলি প্রদর্শন করতে)।
আপনি যখন ফাইলটি টাইপ করবেন এটি পুরানো ডস-অক্ষর হিসাবে অক্ষরগুলি প্রদর্শন করবে। আপনি এখানে একটি অনুবাদ চার্ট দেখতে পারেন ।
আপনি যখন কোনও "উইন্ডোজ আনসি" তে স্যুইচ করেন - অক্ষরগুলি সহ কোড পৃষ্ঠা (অর্থাত্ পশ্চিম ইউরোপীয় লাতিন) chcp 1252
সঠিকভাবে প্রদর্শিত হয়। তারা যদি তাদের নিজ নিজ ইউটিলিটিতে স্থানান্তরিত হয় তবে সেই ইউটিলিটির উপর নির্ভর করে।
তবে আপনি কেন এটির জন্য একটি ব্যাচ-ফাইল তৈরি করছেন? আপনি কি কেবল এটি ভিবি.net তে কোড করতে পারবেন না?
2 # সম্পাদনা করুন:
আপনি এইভাবে সেট Lucida Console
করেছেন cmd.exe
:
BOM
একটি হল UTF-8 ফাইলের শুরুতে 3 টি অক্ষর আছে। ( \xEF\xBB\xBF
)।
VB.net আপনি একটি ফাইল তৈরি করবে ছাড়া একটি BOM
ভালো:
Dim utf8WithoutBom As New System.Text.UTF8Encoding(False)
'^^^^^'
Using sink As New StreamWriter("Foobar.txt", False, utf8WithoutBom)
sink.WriteLine("...")
End Using