نوشتن فارسی استاندارد در mysql؟

imanmir

Member
با سلام و خسته نباشید
یک کد کانکشن دارم که یونیکد آن به صورت زیر است
mysql_query("SET NAMES 'utf8'", $this->mysqlaccess);
mysql_query("SET CHARACTER SET 'utf8'", $this->mysqlaccess);
mysql_query("SET character_set_client = utf8 ",$this->mysqlaccess );
mysql_query("SET character_set_results = NULL ",$this->mysqlaccess) ;
mysql_query("SET character_set_connection = utf8 ",$this->mysqlaccess);
و دیتابیسم هم utf8-persain هستش حالا می خوام اطلاعاتی که از یک جدول با php می گیره به صورت استاندارد فارسی به صورت اعداد
با سلام
وارد دیتابیس کند ؟ حالا چه گونه؟
البته الان داره ??? وارد می کنه ومن می خوام فقط از utf استفاده کنم
 

X7337X

Member
سلام

یا اینکد صفحه رو تغییر بده یا دیتابیس

یعنی اگه الان دیتابیست UTF-8 هست یعنی به صورت فارسی نوشته شده یا به ANSI با یه ادیتور مثل notepad++ تغییر بده یا اینکد صفحه رو عوض کن که من روش اول رو پیشنهاد میکنم
 

foranyone

Well-Known Member
سلام

یا اینکد صفحه رو تغییر بده یا دیتابیس

یعنی اگه الان دیتابیست UTF-8 هست یعنی به صورت فارسی نوشته شده یا به ANSI با یه ادیتور مثل notepad++ تغییر بده یا اینکد صفحه رو عوض کن که من روش اول رو پیشنهاد میکنم


دوست عزیز با نظرتون موافق نیستم

من هم دیتابیسم utf هم فایل هام !! هیچ مشکلی هم ندارم !:cool:

به نظر من مشکل از utf8-persian هستش شما چرا از unicode استفاده نمی کنین؟ utf-unicode بهترین

انتخاب برا فارسی :wink:
 

imanmir

Member
با سلام

ممنون از پاسختون من
utf8-unicode-ci فقط داشتم که انتخاب کردم و باز هم مثل uft-8-persian فارسی نوشت من نمی خوام با notpad++ یا کد تغییر بدم می خوام زمانی که در فرمم اطلاعات فارسی نوشتم به صورت اعدد وارد بشه ؟کانکشنم هم utf-8 و یونکد صفحه utf-8
 

foranyone

Well-Known Member
فقط داشتم که انتخاب کردم و باز هم مثل uft-8-persian فارسی نوشت

می خوام زمانی که در فرمم اطلاعات فارسی نوشتم به صورت اعدد وارد بشه ؟کانکشنم هم utf-8 و یونکد صفحه utf-8

مگه از phpmyadmin استفاده نمی کنین؟ اگه از phpmyadmin استفاده کنید آخرین گزینه منوی کشویی utf-8-unicode

هستش که وضعیتش نسبت به persian به مراتب بهتره (شنیدم persian رو ایرانی ها کار کردن ولی به جواب درست حسابی

نرسیدن:-?)

من منظورتون رو از کانکشن utf8 نمی فهمم:shock:

من چه فارسی چه (هر زبون دیگه ای) از یه مدل کانکشن استفاده می کنم:

کد:
$link = mysql_connect("$mysql_host", "$mysql_login", "$mysql_password")or die ("Could not connect to MySQL");


در اولین اتصالم محض احتیاط اول این Query رو اجرا می کنم :

کد:
$query = "SET CHARACTER SET utf8";
$result = mysql_query ($query) or die ("Query failed");

همه ی فایل های پروژه رو هم با notepad خود windows (دقت کن که هیچ ++ نداره:wink:) باز می کنم و utf8 ذخیره

می کنم :wink:

در ضمن هم ی table ها و از همه مهمتر خود دیتابیس رو utf-8-unicode تنظیم می کنم:wink:
 

Omid PLUS

Member
دوست عزیز شما میتونی با استفاده از این تابع نوشته های فارسیتون رو انگلیسی کنین:

PHP:
function encode($n)
{
	return mb_encode_numericentity($n,array(128,9999,0,0xffff), "UTF-8");
}

اگر هم مشکلت با ++Notepad هستش، اگه از منوی Format گزینۀ UTF-8 رو انتخاب کنی راحت میتونی فارسی هم بنویسی و Save کنی...
 

imanmir

Member
با سلام

چرا کسی سوال منو درست متوجه نمی شه
دست تمامی دوستان درد نکنه ولی من چند نکته باید اشاره کنم
اول که ما دو نوع فارسی در وب داریم
1- به طور معمول مثل سلام
2- به طور باینری یا اعداد مثل سلام
خوب من می خوام در دیتابیسم که با phpmyadmin مدیریت میشه به صورت باینری فارسی هام ذخیره بشه نه معمولی اما چگونه؟
کار های من
1- جهت اطمینان بیشتر
mysql_query("SET CHARACTER SET 'utf8'", $this->mysqlaccess);
2- table از نوع utf-unicode می باشد
3- کد میتا صفحه هم utf-8 هستش
مشکل:
هنوز به صورت فارسی معمولی در بانک اطلاعاتی می ریزد !!!!
 

imanmir

Member
با سلام

سوال جالبی پرسیدی:چون طی تجربه و مشکلات زیادی که با فارسی داشتم روش باینری در تمامی سیستم عامل ها - تمامی سرورهای - تمامی کد پکیج ها - در utf8 یا windows1256 یا windows1252 نمایش می دهد - و برای انتقال از جای به جای دیگر مشکلی پیش نمی آید - بهترین انتخاب برای پشتیبان گیری

لطفا راه حل؟
 

Omid PLUS

Member
دوست عزیز همونطور که گفتم، این تابع دقیقاً فارسی رو به اعداد تبدیل میکنه مثلاً "سلام" رو به "&# 1587;&# 1604;&# 1575;&# 1605;" تبدیل میکنه!!:)

کد دوباره::rose:
PHP:
function encode($n)
{
    return mb_encode_numericentity($n,array(128,9999,0,0xffff), "UTF-8");
}
 

جدیدترین ارسال ها

بالا