PDA

View Full Version : سوال: تبدیل از arabic به unicode



hamed-p
یک شنبه 10 آبان 1388, 20:19 عصر
با درود
ورودی برنامه‌ای فایل‌های txt است، منتها مشکل اینه که این فایل‌ها را اگه save as کنم و با encoding utf-8 ذخیره کنیم می‌توانم در برنامه به صورت پارسی بخوانم وگرنه به صورت رمز می‌یاد.
جالب اینه که اگه به کمک دستور encoding.convert بخوام به utf-8 یا unicode یا هر فرمت دیگه‌ای تبدیل کنم باز هم رمزی نشون داده می‌شه.
اومدم پسوند فایل را html کردم و سپس توی صفحه وب arabic encoding را برگزیدم و در این حالت فارسی نشون داده می‌شه!
حالا مشکل این‌جاست که توی vs.net تبدیل از arabic به unicode را نداریم!

Hossis
یک شنبه 10 آبان 1388, 20:37 عصر
باید از کلاس Encoding استفاده کنید
Imports System.Text.Encoding
بعد هنگام ذخیره متن رو به این فرمت ذخیره کنیم
کد زیر تست شده و بارها مورد استفاده قرار گرفته و مشکلی ندارد


IO.File.WriteAllText("d:\0.htm","این یک متن نمونه است!", System.Text.Encoding.UTF8)

hamed-p
دوشنبه 11 آبان 1388, 15:45 عصر
باید از کلاس Encoding استفاده کنید
Imports System.Text.Encoding
بعد هنگام ذخیره متن رو به این فرمت ذخیره کنیم
کد زیر تست شده و بارها مورد استفاده قرار گرفته و مشکلی ندارد


IO.File.WriteAllText("d:\0.htm","این یک متن نمونه است!", System.Text.Encoding.UTF8)

نه این رو می‌دونستم.
مشکل این‌جاست که فایل ورودی را نمی‌تونم به‌درستی بخونم! اون‌وقت شما می‌گیند توی یه فایل دیگه بنویسم!

hamed-p
سه شنبه 12 آبان 1388, 20:05 عصر
چی شد؟ کسی پاسخ‌اش را نمی‌دونه!؟

Hossis
سه شنبه 12 آبان 1388, 20:54 عصر
این رو امتحان کن
IO.File.ReadAllText("d:\1.txt", System.Text.Encoding.UTF8)
خواهشا یک کم به کد نگاه کنید،‌شاید بتوان با تغییر ی جزئی ،‌مشکل را حل کنید سعی کنید کدها را تحلیل کنید
به جای utf8 کد پیجهای دیگر را امتحان کنید.