View Full Version : در گرفتن محتویات htmlیک سایت با idhttpبعضی از کارکتر ها با ؟ مشاهده می شوند
ali reza omid ali
پنج شنبه 14 اردیبهشت 1385, 09:47 صبح
در گرفتن محتویات htmlیک سایت با idhttpبعضی از کارکتر ها با ؟ مشاهده می شوند
این کد را نوشته ام
if Utf8ToAnsi(data)<>''then
data:=Utf8ToAnsi(data)
else
data:=Ansistring(data);
Memo1.Lines.Text:=data;
لطفا اگر پیشنهادی دارید اراه کنید
ghabil
پنج شنبه 14 اردیبهشت 1385, 15:42 عصر
UTF8ToAnsi خودش Utf8Decode رو Call میکنه که این یک WideString بر میگرونه اما چون UTF8ToAnsi نتیجش یک String هست پس خود کامپایلر با توجه به Locale سیستم TypeCast میکنه که در نتیجه تبدیل WideString به String به ازای هر کارکتری نصف اطلاعات میپره ، حالا اگر کارکتر اینگیلیسی باشه یا بوسیله Locale درست تبدیل بشه که مشکله پیش نمیاد در غیر اینصورت خب ؟ دیده میشه .
راه حل : همین Utf8Decode رو استفاده کن و مواظب باش هیچ جا مقدار رو در String نریزی که دیتا از دست بدی.
راه حل برای تبدیل به انسی : یک UTF8ToAnsi واسه خودت بنویسی که کارکترهای زبانی که استفاده میکنی رو بشناسه .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.