كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> طراحي سايت‌هاي اينترنتي
پاسخ دادن به این موضوع
دیتابیسی فارسی در MySQL
پست تاریخ: یکشنبه 1 اسفند 1389 - 21:31    
Gytyonline
مديريت كل انجمن‌ها
مديريت كل انجمن‌ها


پست: 899
عضو شده در: 14 شهریور 1384
محل سکونت: tehran
iran.gif


امتياز: 8184

عنوان: دیتابیسی فارسی در MySQL خواندن مشخصات فردی ارسال پیام شخصی ارسال email

سلام
حتما شما هم تا به حال به این مشکل برخورده‌اید که وقتی قصد ذخیره متن‌های فارسی رو در دیتابیس تان داشته‌اید مخصوصا MySQL موقع ذخیره سازی ذخیره می‌شود اما زمانی که به دیتابیس مراجعه می‌کنید مشاهده می‌کنید که تمامی کاراکتر‌ها به صورت ؟؟؟؟؟ یا کاراکتر‌های درهم و برهمی ذخیره شده است که اکثرا این مورد رو اگر صفحه‌ی سایتتون رو با unicode و utf-8 ست کرده باشید موقع نمایش آن مشکلی ندارید اما راه حل چیه که نوشته‌ها در دیتابیس هم به صورت فارسی نمایش داده شوند.
در SQLServer با قرار دادن نوع داده فیلد به NVarchar و یا نوع‌های دیگر ذخیره متن فارسی که با حرف N شروع شده است مثل NVarchar , Nchar و غیره ... این مشکل حل شده است و برنامه نویس راحت می‌باشد اما این مشکل را در MySQL چه طور حل کنیم؟؟
برای این کار موقع ساخت دیتابیس تان collation آن را بر روی utf8_general_ci قرار دهید یعنی
کد:
collation : utf8_general_ci

خوب حالا کافی هستش هرموقع که نیاز به اتصال به دیتابیس داشتید چه برای خواندن و چه نوشتن قبل از اولین کوئری کد زیر را وارد کنید:
کد:
mysql_query("set names 'utf8'");

حتما و حتما دقت کنید که این کد رو قبل از اولین کوئری قرار بدهید یعنی موقع اتصال به دیتابیس خواهید داشت:
کد:

$link = mysql_connect('localhost', 'root', '');
mysql_select_db( $db, $link ) or die ( "Couldn't open $db: ".mysql_error() );
mysql_query("set names 'utf8'");


و از این به بعد کاراکتر‌های شما در دیتابیس به صورت فارسی نمایش داده خواهد شد.

نکته بسیار مهم:
توجه کنید که در اینجا یک نکته کاملا مهم وجود دارد و آن این می‌باشد که با این کار هر کاراکتر به اندازه 2 کاراکتر در نظر گرفته خواهد شد و حجم پیدا خواهد کرد مثلا اگر شما قصد دارید یک متن 100 کاراکتری رو ذخیره کنید باید مقدار اندازه این فیلد رو 200 وارد کنید.

موفق باشید.
امین شفیعی;

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست: Hamid (دوشنبه 2 اسفند 1389 - 11:52) sistemprof (سه‌شنبه 3 اسفند 1389 - 08:43)

پست تاریخ: چهار‌شنبه 10 اردیبهشت 1393 - 11:52    
vahidh
شروع فعاليت
شروع فعاليت


پست: 23
عضو شده در: 14 اسفند 1392
محل سکونت: saveh
blank.gif


امتياز: 217

عنوان: پاسخ به «دیتابیسی فارسی در MySQL» خواندن مشخصات فردی ارسال پیام شخصی

دوست گرامی من مشکلم با این حرکت شما حل شد
ولی مشکل جدید
وقتی جدول دیتابیس رو لود میکنم توی یه جدول حروف فارسی این شکلی میشن:
ایمیل Crying or Very sad

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 10 اردیبهشت 1393 - 12:02    
vahidh
شروع فعاليت
شروع فعاليت


پست: 23
عضو شده در: 14 اسفند 1392
محل سکونت: saveh
blank.gif


امتياز: 217

عنوان: Re: پاسخ به «دیتابیسی فارسی در MySQL» خواندن مشخصات فردی ارسال پیام شخصی

vahidh نوشته است:
دوست گرامی من مشکلم با این حرکت شما حل شد
ولی مشکل جدید
وقتی جدول دیتابیس رو لود میکنم توی یه جدول حروف فارسی این شکلی میشن:
ایمیل Crying or Very sad


آقا اینم حل شد بیخی
دست همتون درد نکنه

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc