PDA

View Full Version : ذخیره اطلاعات فارسی در یک فایل text بصورت utf-8



mohammad_2oo5
شنبه 15 آبان 1389, 11:36 صبح
باسلام
من با دلفی 7 کار میکنم از کامپوننت tnt که یونیکد را پشتیبانی می کنه در برنامه ای استفاده کردم می خواهم فایل txt خروجی که با دستور

TntMemo1.Lines.SaveToFile('aaa.txt');
متن فارسی مندرج در آن را بصورت utf-8 ذخیره کنم (نه بصورت unicode) باید چیکار کنم
(توضیح اینکه این کامپوننت بصورت یونیکد ذخیره می کنه که بدرد من نمی خوره)
باتشکر

ghabil
سه شنبه 30 آذر 1389, 22:32 عصر
میشه بپرسم چرا یونیکد به دردتون نمیخوره؟

vcldeveloper
چهارشنبه 01 دی 1389, 00:13 صبح
من با دلفی 7 کار میکنم از کامپوننت tnt که یونیکد را پشتیبانی می کنه در برنامه ای استفاده کردم
اگر از دلفی 2010 استفاده می کردید، همچین تبدیلی مثل آب خوردن بود.


باید چیکار کنم
می تونید از تابع WideCharToMultiByte ویندوز استفاده کنید؛ یک متن UTF-16 (همون چیزی که بهش میگید Unicode) میگیره، و میتونه اون رو به فرمت جدید (مثلا UTF-8) برگردونه. البته فکر کنم در دلفی 7 یک تابع Utf8Encode وجود داره، ولی نمیدونم ورودی اش فقط AnsiString هست، یا WideString هم قبول میکنه. الان دلفی 7 دم دستم نیست که بخوام چک کنم، خودتون می تونید بررسی کنید.