حل مشکل نمایش حروف فارسی در وردپرس بصورت علامت سوال
- مقالات آموزشی
- بروزرسانی شده در
بسیاری از مواقع برای من و شما پیش می آید که حروف فارسی سایتمان بهم ریخته نمایش داده می شود. مثلا اگر قرار باشد عبارت سلام را در سایت خود نمایش دهیم، به جای آن با عبارت ؟؟؟؟ مواجه میشویم! این قضیه بسیار عجیب بهنظر میرسد و شاید با خود فکر کنید که تمام محتوای سایت شما از دسترفته! اما حقیقت اینطور نیست. این مشکل با چند کلیک قابل حل است. کافیست این مقاله را دنبال کنید تا بتوانید مشکل نمایش حروف فارسی در وردپرس را حل کنید.
در برخی موارد همین عبارت سلام ممکن است به شکل سلا٠نمایش داده شود! باز هم مشکلی نیست.
آنچه در این مقاله میخوانید
دلیل مشکل نمایش حروف فارسی در وردپرس
بیایید ابتدا ببینیم دلیل بوجود آمدن این مشکل واقعا چیست؟ در سیستمهای پایگاه داده یا همان دیتابیس، آپشنی به نام Collation وجود دارد. کالیشن در واقع به دیتابیس ما میگوید که از کدام نوع کاراکتر ست برای ذخیره دادهها استفاده کند.
مشکل نمایش حروف فارسی در وردپرس زمانی بوجود میآید که این کالیشنها با زبان شما همخوانی نداشته باشند. برای حروف فارسی باید از کالیشن UTF-8 General CI استفاده کنیم. اما بعضی از دیتابیسها بهصورت پیشفرض از کالیشن Latin استفاده میکنند که باعث بهمریختگی در حروف فارسی خواهد شد. حالا ما باید دستبهکار شویم و این مشکل را برطرف کنیم.
حل مشکل نمایش حروف فارسی در وردپرس
برای حل این مشکل کافیست کالیشن دیتابیس و کالیشن تمام جداول موجود در دیتابیس وردپرس را به UTF-8 تغییر دهیم. پس وارد کنترل پنل هاست خودمان میشویم.
بعد از وارد شدن به سیپنل یا دایرکت ادمین، کافیست روی PHPMyAdmin کلیک کنید.
این سیستم برای ورود به مدیریت دیتابیس استفاده میشود. در صورت نیاز باید نام کاربری و رمز عبور دیتابیس وردپرس خودمان را از فایل wp-config.php دریافت کرده و در صفحه ورود پیاچپی مای ادمین وارد کنیم.
حالا وارد PHPMyAdmin شدیم و میتوانیم به تمام اطلاعات دیتابیس سایتمان دسترسی داشته باشیم.
تغییر Charset دیتابیس
بیایید ابتدا Charset جداول جدید دیتابیس را تغییر دهیم تا اگر از این پس افزونهای یک جدول جدید در دیتابیس سایت ما ایجاد کرد، با مشکل بهم ریختگی عبارات فارسی مواجه نشویم.
روی دیتابیس خود از سمت چپ کلیک کنید. سپس روی گزینه Operations کلیک کنید.
حالا از آخرین بخش، باید Collation را روی utf8_general_ci قرار دهید. سپس تیک هر دو گزینه زیر را فعال کنید تا این کار برای جداول و ستونهای قبلی ایجاد شده در دیتابیس هم انجام شود.
حالا وارد سایت خود شوید. مشکل نمایش عبارات فارسی باید حل شده باشد.
مشکل همچنان پابرجاست!
چنانچه با انجام کارهای بالا مشکل برطرف نشد، باید از هاست خود بخواهید ماژول Mbstring را برای شما نصب کنند. اگر همچنان مشکل را دارید، باید اطلاعات موجود در دیتابیس خود را مجددا ایجاد کنید.
موفق باشید. 🙂
ما یه افزونه ای داریم برای محاسبه قیمت محصول استفاده میکنیم وقتی مرورگر کاربر فارسی هست عدد محاسبه شده در سبد خرید و صورتحساب نمایش داده نمیشه! فقط کافیه زبان مرورگر رو انگلیسی کنیم و صفحه رو رفرش کنیم عداد غیب شده برمیگرده!
تاحالا با همچین مشکلی برخورد داشتید؟ راه حلی داره؟
سلام توی کدها چک کنید که اگه اعداد فارسی هستند به انگلیسی برگردانده بشن
کدها فارسی نیست
میدونم ولی تو مرورگر فارسی اعداد فارسی میشه. پس باید تبدیل کننده اعداد فارسی به انگلیسی تو کدها بذارید.
درود
سال نو مبارک
خدمت شما عرض کنم سایت ما تازه تاسیس و ایندکس شده
فقط نمیدونم چرا حتما باید انگلیسی تایپ کنیم تا در صفحه گوگل نمایش داده بشه
چرا با معادل فارسی نمایش داده نمیشه ؟؟؟؟؟
سلام
کالیشن UTF8_percian_ci بهتر است یا کالیشن UTF-8 General CI چرا؟
آیا با تنظیم کالیشن، کارکتر های فارسی نامک در سورس صفحه، فارسی نمایش داده میشه یا بهم ریخته
چون جایی خوندم که اگه به هم ریخته بشه در سرعت تاثیر داره خصوصا در در صفحه اصلی، و این کد را گذاشته بود ولی مشکلی ایجاد کرد مجبور شدم کد را بردارم
جلوگیری از اینکد کردن لینک های فارسی
function urldecode_site( $url ) {
if (!is_admin()) {
$url = str_replace(get_home_url(),”,$url);
$url = urldecode($url);
return $url;
}
}
add_filter( ‘post_link’, ‘urldecode_site’, 10, 3 );
add_filter( ‘post_type_link’, ‘urldecode_site’, 10, 3 );
add_filter( ‘page_link’, ‘urldecode_site’, 10, 3 );