مشکل نمایش فارسی در دایرکت ادمین
یکی از مشکلات رایج مدیران سرور ایرانی، نمایش نادرست کاراکترهای فارسی در پنل دایرکت ادمین، وبسایتها و دیتابیس است. این مشکل به دلیل تنظیمات نادرست Encoding (کدگذاری کاراکتر) رخ میدهد.
تنظیم UTF-8 در دایرکت ادمین
تنظیم در Apache
فایل /etc/httpd/conf/httpd.conf را ویرایش کنید:
AddDefaultCharset UTF-8
تنظیم در .htaccess
AddDefaultCharset UTF-8
# یا
Header set Content-Type "text/html; charset=UTF-8"
تنظیم در PHP
در php.ini:
default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
تنظیم در MySQL
در /etc/my.cnf:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
systemctl restart mysqld
تنظیم در وردپرس
فایل wp-config.php:
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');
تغییر زبان دایرکت ادمین به فارسی
دایرکت ادمین از فایلهای زبان پشتیبانی میکند. فایل زبان فارسی را در مسیر زیر قرار دهید:
/usr/local/directadmin/data/skins/enhanced/lang/fa/
سپس از پنل ادمین، زبان را به فارسی تغییر دهید.
مشکلات رایج
اگر کاراکترهای فارسی به صورت علامت سؤال (???) نمایش داده میشوند، Encoding دیتابیس اشتباه است. اگر حروف بهمریخته نمایش داده میشوند، Header سرور Content-Type صحیح ارسال نمیکند. اگر در phpMyAdmin فارسی خراب نمایش داده میشود، Collation جداول را به utf8mb4_unicode_ci تغییر دهید.
هاست وردپرس میهن هاستینگ با UTF-8 و utf8mb4 از پیش تنظیمشده برای فارسی. کانفیگ سرور شامل تنظیم Encoding فارسی. سرور مجازی با دایرکت ادمین فارسی.