PDA

View Full Version : مشکل فارسی



Mahdi_S_T
یک شنبه 27 شهریور 1384, 21:35 عصر
من استاندارد صفحه را Windows-1256 گرفتم و وقتی اطلات ذخیره شده در دیتابیس را نمایش می دهم یه حروف دیگه ای رو نمایش میدهد . علت چیست ؟ البته من تاپیک های قبلی رو دیدم ولی چیزی دستگیرم نشد.در ضمن در هنگام دیدن سورس صفحه هم اطلاعات فارسی با یه حروف دیگه دیده میشه ولی در همین سایت که استاندارد آن Windows-1256 است در هنگام دیدن سورس صفحه اطلاعات فارسی به خوبی خوانده میشه !

Navid7h
یک شنبه 27 شهریور 1384, 23:25 عصر
در Asp من دو کار انجام میدم
1)


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
یا

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1256"%>


2)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

شاید در PHP هم شما باید UTF-8 رو مشخص کنید.

houtanal
یک شنبه 27 شهریور 1384, 23:44 عصر
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

همینو انجام بده حله

armin390
دوشنبه 28 شهریور 1384, 02:05 صبح
سلام
چون دقیقا مشکلتو نمی دونم فرض می کنیم که شما از یه input یه رشته رو می گیری و تو دیتابیست ذخیره می کنی و بعدش تو یه صفحه دیگه اون رشته تو دیتابیس رو نشون می دی!

خوب باید چارست صفحه ورودی با چارست صفحه خروجی یکی باشه (شما گفتی از windows-1256استفاده می کنی)
در ضمن توابعی که داخل اسکریپت phpت استفاده می کنی نباید استاندارد کد هاتو تغییر بده.
به این معنی که وقتی رشته را دریافت کردی می خواهی تو دیتابیس ذخیره کنی با وقتی که می خواهی تو صفحه html نمایش بدی استاندارد کد رشته ات تغییر نکنه.
(شاید(که نه حتما) میشه از توابعی تو اسکریپت استفاده کرد که استاندارد کد رشته از یه استاندارد به استاندارد دیگه تبدیل کنه و در این صورت لزومی نداره که چارست کد صفحه ورودی با خروجی یکسان باشد)
و راههای دیگه(لطف کن اگه جوابتو نگرفتی یه کم شفاف تر و دقیق تر مشکل تو من یا دوستان واردتر دیگه حل کنیم)

Mahdi_S_T
سه شنبه 29 شهریور 1384, 07:11 صبح
در مورد دوستمان که گفته بود utf-8 استفاده کنم ولی قبلا در تاپیک های دیگه گفته شده بود که windows-1256 استفاده شود.
دوست عزیز آقا آرمین درست تشخیص دادند من یه صفحه دارم که نام و نام خانوادگی و آدرس وشماره تلفن را از کاربر میگیرم و با زدن دکمه ثبت آنرا در بانک ذخیره می کنم و در صفحه دیگری آنرا را نمایش میدهم که اطلاعات فارسی به شکل دیگری نمایش داده میشود و فقط شماره تلفن درست است . و در ضمن کد هر دو صفحه هم windows-1256 است در از تابع خاصی هم استفاده نکرده ام. و وقتی هم که مثلا نام علی را جستجو می کنم آنرا پیدا نمی کند با آنکه در بانک وجود دارد ولی اگه شماره انرا جستجو کنم آنرا پیدا می کند و موضوع سر همان تغییر حروف است

oxygenws
سه شنبه 29 شهریور 1384, 10:36 صبح
در مورد دوستمان که گفته بود utf-8 استفاده کنم ولی قبلا در تاپیک های دیگه گفته شده بود که windows-1256 استفاده شود.
این کاملا بستگی به خودتون داره، و یک حرفه ای!! مسلما می تونه از هر دو مورد استفاده کنه.
جوابی که اون دوستمون داده، در شرایط مختلف می تونسته فرق کنه.

Mahdi_S_T
سه شنبه 29 شهریور 1384, 16:28 عصر
اگه برای ذخیره اطلاعات در بانک و بازیابی هیچ تابعی لازم نیست( جهت مشکل فارسی ) پس چرا اطلاعات من نشان داده نمی شود . در ضمن در تاپیکی جنابعالی فرموده بودید که اگه طول فیلد موردنظر 6 تا بود باید آنرا 12 در نظر بگیریم ( البته این مسئله فکر نکنم به این مشکل ربطی داشته باشه ولی باز هم گفتم .......)

oxygenws
سه شنبه 29 شهریور 1384, 18:07 عصر
اونی که من گفتم احتمالا در مورد utf-8 بوده :)

اگه برای ذخیره اطلاعات در بانک و بازیابی هیچ تابعی لازم نیست( جهت مشکل فارسی ) پس چرا اطلاعات من نشان داده نمی شود .
اونقدرا ربطی به نوع ذخیره سازی شما نداره!!
ربط به نوع ورود و نمایش داده ها داره. انکودینگ فرم ورودی و خروجی شما باید یکی باشه.

armin390
شنبه 16 مهر 1384, 20:10 عصر
سلام
آقا مهدی اگه مشکلت حل نشده لطف کن کدت رو تو یه پست بفرست

Mahdi_S_T
یک شنبه 17 مهر 1384, 17:57 عصر
آره عزیزم مشکل با Utf-8 حل شد . ممنون از اینکه به فکر بودی