مشکل ذخیره داده فارسی mysql
من از asp.net و mysql استفاده می کنم ولی وقتی حروف فارسی داخل دیتابیس میریزم بصورت ؟؟؟؟؟ به تعداد حروف عبارت فارسیم توی دیتابیس میادش
collation جدولهامم همه utf8-general یا utf8-persian و داخل صفحه م هم حروف فارسی هست و مشکلی نداره نمی دونم مشکل کجاست
انگار چیزایی ک می نویسم به utf8 تبدیل نمیشن.توی php وقتی حروف فارسی اینسرت میکردم تو دیتابیسش حروف ناخوانا میومد و وقتیم واکشیش میکردم درست میشد ولی اینجا فقط ؟؟؟ میادش
نقل قول: مشکل ذخیره داده فارسی mysql
دوست عزیز به احتمال زیاد Collation پیش فرض شما چیزی به غیر از این دو مورد بوده و شما بعداً Collation رو عوض کردین.
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
نقل قول: مشکل ذخیره داده فارسی mysql
ممنون ولی هیچ تاثیری نداره حتی جدول رو هم ک از اول می سازم بازم کارساز نیست.
راهی برای کانورت فارسی به utf بالعکس هستش؟
برای مثال علیرضا میشه علیرضا
نقل قول: مشکل ذخیره داده فارسی mysql
Collation ستون هاتون رو هم تغییر بدین.
نقل قول: مشکل ذخیره داده فارسی mysql
کل دیتابیس و جدول و ستونها و .... همگی utf8 هستند
نقل قول: مشکل ذخیره داده فارسی mysql
utf8_unicode_ci نه utf-8 !!!
در هر صورت تنظیمات MySql تون مشکل داره و بهتره سوالتون رو تو تالار MySql مطرح کنین و به نظر من شما Collation پیش فرض MySql رو زمان نصب باید تنظیم میکردین.در هر صورت آخرین راه حلتون قبل از مقادیر تون در کوئری N بزارین مثلاً:
N"کریمی"
نقل قول: مشکل ذخیره داده فارسی mysql
سلام
به طور کلی دو حالت ممکن است رخ دهد.
اول اینکه داده شما به صورت غیر یونیکد یا ؟؟؟؟ در دیتابیس ذخخیره شده است و الان اگر Collation را تغییر دهید باز داده های قبلی درست نخواهد شد و داده های جدید به شکل خوانا و درست نمایش داده خواهد شد. (داده هایی که بعد از اعمال تغییرات درست برای Collation که انجام داده اید)
حالت بعدی اینکه : شما الان Collation را تغییر دادین و داده هم به صورت درست در بانک ذخیره می شود ولی باز به صورت ؟؟؟؟ چاپ می شود ، باید utf فرم PHP مربوطه را به 8 تغییر دهید.
با تگ meta و قرار دادن utf=8 مشکل شما حل می شود.
موفق باشید.
1 ضمیمه
نقل قول: مشکل ذخیره داده فارسی mysql
سلام
داده های قبلی درکار نیست همه رو پاک میکنم مدام.ولی مشکل اینجاست که کلن بصورت ؟؟؟ توی دیتابیس دخیره میشن.
از تگ متا هم استفاده کردم تاثیری نداره در ضمن پروژه من ASP هستش وگرنه تو PHP چنین مشکلی نخوردم.
بنظرم مشکل به اینکد کردن اطلاعات با asp مربوطه.یه کدی نیست متن تکست باکس رو به فرم داخل تصویری انکد کنم و برگشتشم از دیتابیس دیکدش کنم؟؟؟؟!:متفکر:
ضمیمه 124261
نقل قول: مشکل ذخیره داده فارسی mysql
شما از عبارت N قبل از مقادیرتون استفاده کردین؟
توی ConnectionString تون CharSet رو تنطیم کنین ببینین جواب نمیده
"Server=DB_SERVER_NAME;Database=DBNAME;Uid=YOUR_ID ;Pwd=YOUR_PASSWORD;Charset=utf8;"
نقل قول: مشکل ذخیره داده فارسی mysql
آقا کارت درسته دقیقا مشکل همون بود و حل شد.:تشویق:
charset=utf8;
اینو من داخل command میذاشتمش نمشد.
واقعا متشکرم
public static string GetConnectionString() {
string databasename = "sabanewsdb";
string username = "root";
string password = "";
string connStr = String.Format("server={0};user id={1}; password={2};" +
"database="+databasename+"; pooling=false", "localhost",
""+username+"", ""+password+";Charset=utf8;");
return connStr;
}
نقل قول: مشکل ذخیره داده فارسی mysql
نقل قول:
نوشته شده توسط
ahmad156
شما از عبارت N قبل از مقادیرتون استفاده کردین؟
توی ConnectionString تون CharSet رو تنطیم کنین ببینین جواب نمیده
"Server=DB_SERVER_NAME;Database=DBNAME;Uid=YOUR_ID ;Pwd=YOUR_PASSWORD;Charset=utf8;"
خدا خیرت بده، هر کاری می کردم علامت سوال درست نمیشد.
توی php بعد از کانکشن ، این کد رو اضافه کردم درست شد:
mysqli_set_charset($conn,"utf8");
نقل قول: مشکل ذخیره داده فارسی mysql
نقل قول:
نوشته شده توسط
ahmad156
شما از عبارت N قبل از مقادیرتون استفاده کردین؟
توی ConnectionString تون CharSet رو تنطیم کنین ببینین جواب نمیده
"Server=DB_SERVER_NAME;Database=DBNAME;Uid=YOUR_ID ;Pwd=YOUR_PASSWORD;Charset=utf8;"
دمت گرم هر سایتی رو که میگشتم فقط برای php توی لیست بود:تشویق: