تغيير الترتيب الافتراضي في phpmyadmin
-
03-07-2019 - |
سؤال
يبدو لي أن phpMyAdmin يستورد الجداول افتراضيًا باستخدام الترتيب latin1_swedish_ci، كيف يمكنني تغيير ذلك؟
المحلول
في تكوين Mysql الخاص بك، قم بتغيير عامل مجموعة الأحرف الافتراضية ضمن علامة التبويب [mysqld].على سبيل المثال:
[mysqld]
default-character-set=utf8
لا تنس إعادة تشغيل خادم Mysql الخاص بك بعد ذلك حتى تدخل التغييرات حيز التنفيذ.
نصائح أخرى
لنظام التشغيل Linux:
يجب أن يكون لديك حق الوصول إلى ملف تكوين MySQL.
يمكن أن يختلف الموقع من/etc/mysql/my.cnf
ل~/my.cnf
(دليل المستخدم).أضف الأسطر التالية في القسم
[mysqld]
:collation_server = utf8_unicode_ci character_set_server=utf8
إعادة تشغيل الخادم:
service mysqld restart
هذا ليس سؤال phpMyAdmin.
تعد عمليات الترتيب جزءًا من إصدارات MySQL الحديثة، ويجب عليك تعيين الترتيب الافتراضي للخادم (أو على الأقل لقاعدة البيانات) لتغيير هذا السلوك.
لتحويل الجداول المستوردة بالفعل إلى UTF-8 يمكنك القيام (في PHP):
$dbname = 'my_databaseName';
mysql_connect('127.0.0.1', 'root', '');
mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
$res = mysql_query("SHOW TABLES FROM `$dbname`");
while($row = mysql_fetch_row($res)) {
$query = "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql_query($query);
$query = "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql_query($query);
}
echo 'all tables converted';
مقتطف الكود مأخوذ من هنا.
أعرف أن هذا هو وظيفة قديمة.لكن الطريقة التي قمت بها بتغيير مجموعة الأحرف الافتراضية من خلال phpMyAdmin كانت:
الصفحة الرئيسية لـ phpMyadmin > علامة تبويب المتغيرات (متغيرات وإعدادات الخادم) > بحثت عن "الحرف" وقمت بتغيير جميع المتغيرات من "latin1" إلى "utf8".(عند تثبيت MAMP باستخدام phpMyAdmin v.3.5.7)
وكما قال الآخرون، هذه هي متغيرات MySQL وليست بعض متغيرات phpMyAdmin المحددة.
قاعدة بيانات MySQL «تغيير التجميع اسم قاعدة البيانات|جدول utf8_general_ci
من أجل دعم Unicode.
يتغير إعدادات التكوين الملف أيضا
إكسامب:إلغاء التعليق UTF 8 Settings
من ملف إعدادات التكوين « D:\xampp\mysql\bin\my.ini
## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/xampp/mysql/share/charsets"
لكي يدعم خادم MySQL UTF8 وسطر التعليمات البرمجية أدناه في الملف my.cnf
## UTF 8 Settings
collation_server=utf8_unicode_ci
character_set_server=utf8
@يرى
ل utf8mb4
, ، قم بإضافة/تغيير ما يلي في [mysqld]
قسم:
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4
ثم أعد تشغيل mysql
الخدمة (بالنسبة لـ Ubuntu، الأمر هو sudo service mysql restart
)