سؤال

يبدو لي أن phpMyAdmin يستورد الجداول افتراضيًا باستخدام الترتيب latin1_swedish_ci، كيف يمكنني تغيير ذلك؟

هل كانت مفيدة؟

المحلول

في تكوين Mysql الخاص بك، قم بتغيير عامل مجموعة الأحرف الافتراضية ضمن علامة التبويب [mysqld].على سبيل المثال:

[mysqld]
default-character-set=utf8

لا تنس إعادة تشغيل خادم Mysql الخاص بك بعد ذلك حتى تدخل التغييرات حيز التنفيذ.

نصائح أخرى

لنظام التشغيل Linux:

  1. يجب أن يكون لديك حق الوصول إلى ملف تكوين MySQL.
    يمكن أن يختلف الموقع من /etc/mysql/my.cnf ل ~/my.cnf (دليل المستخدم).

  2. أضف الأسطر التالية في القسم [mysqld]:

    collation_server = utf8_unicode_ci
    character_set_server=utf8
    
  3. إعادة تشغيل الخادم:

    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)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top