مرا اسکن کن!

حل مشکل فارسی در دیتابیس mysql

حل مشکل فارسی در دیتابیس mysql



درحالت پیشفرض وقتی یه رکورد فارسی رو میخواییم تو دیتابیس ثبت کنیم با مشکل مواجه میشیم و در دیتابیس عبارات فارسی بصورت علامت سوال یا حروف درهم ریخته نمایش داده میشن !

برای حل این مشکل فقط کافیه هنگامی که میخوایید جدول ایجاد کنید مقدار Collation فیلد هارو روی utf8_general_ci تنظیم کنید 
اما اگر از قبل جدول ایجاد شده دارید کافیه وارد قسمت Structure جدول مورد نظر شوید و با استفاده از گزینه change هر فیلد ، Collation رو به utf8_general_ci تغییر بدید !
با این تنظیمات، دیتابیس شما هم حروف فارسی و هم انگلیسی رو بصورت صحیح نمایش میده !

 

گاهی اوقات به دلیل تنظیم نبودن مناسب کلاسها و دستورات کار با دیتابیس روی set name UTF8 در php متون ذخیره شده در دیتابیس به صورت اجق وجق ذخیره میشن مثلا در دیتابیس متون ذخیره شده فارسی به صورت زیر ذخیره میشود

چگونه بیل گیتس در دفترش کار می‌کند؟

خب برای درست کردن این متون در بانک اطلاعاتی باید چند تغییر انجام دهید کد زیر را در یک کوئری اجرا کنید تا متون فارسی ذخیره شده درست شود

این دستورات رو میتونید در دیتابیس خود در تب sql در بالای phpmyadmin وارد کنید , فقط به یاد داسته باشید پیش از تغییرات از تب export از دیتابیس خود backup بگیرید.

alter table tablename change colname colname LONGTEXT CHARACTER SET latin1;
alter table tablename change colname colname LONGBLOB;
alter table tablename change colname colname LONGTEXT CHARACTER SET utf8;

به جای tablename نام جدول و بجای colname نام ستون مورد نظر خود را قرار دهید

موفق باشید


نوشته شده توسط :

وحید صمدیان وحید صمدیان



یکشنبه, 18 فروردین 1398

تعداد بازديد : 1282

برچسب ها : PHP

3.0 ستاره