سؤال

عندما أقوم بإجراء استعلام من وحدة التحكم MySQL ولهجات أو أي حرف يحتاج إلى ترميز UTF-8 ، يتم سربه

INSERT INTO users (userName) VALUES ("José Alarcón");
SELECT userName FROM users;
José Alarcón

SET NAMES utF8 لا يغير شيء --default-character-set=utf8 مع تغير المعلمة ، لا شيء يضعه في الاعتبار من هذا فقط من وحدة التحكم. إذا استخدمت phpmyadmin أو أجريت أي استفسار من البرنامج ، فلا توجد مشكلة على الإطلاق ، ولكن يتم إدراج صف من وحدة التحكم. أنا أستخدم المعجون على Windows كعميل

~$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

التوضيح: Mi Local Computer هو Windows XP ، أنا أستخدم Putty 0.60 كعميل طرفي. النظام المستهدف الذي يعمل فيه MySQL هو Linux Debian لا يمكنني العثور على أي تكوين في المعجون لترميز الأحرف ...

تحديث: معجون غبي ، وجود تكوين الترميز داخل قائمة تسمى "الترجمة" WTF؟

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

المحلول

قم بتعيين المعجون لتفسير البيانات المستلمة على أنها UTF8 في Window -> ترجمة "حرف تعيين على البيانات المستلمة".

نصائح أخرى

لا يمكن لـ Windows التعامل مع UTF8 في رسائل وحدة التحكم والنظام (التي تستخدمها المعجون). إنه يريد استخدام codepage الخاص بك. هذه مشكلة شائعة ومعروفة ، وهي غير قابلة للحل دون إعادة كتابة cmd.exe ، أو باستخدام أداة سطر أوامر مختلفة.

لم تزعج Microsoft أبدًا الترميزات خارج عالمها ، مما يؤدي إلى رموز Windows المحددة الغريبة.

ربما يمكنك تغيير المعجون في مكان ما في خياراته حتى يتمكن على الأقل من التواصل بشكل صحيح إلى MySQL CLI؟

يجب تكوين عميلك الطرفي باستخدام UTF8. يجب أيضًا تكوين بيئة Shell الخاصة بك على الخادم على أنها UTF8. يمكنك التحقق من ذلك مع الأمر التالي.

locale

يعتمد ذلك على التوزيع (أفترض أنك تستخدم Linux) كيف يفضل النظام كيفية إصلاح المعلومات المحلية إذا لزم الأمر. على سبيل المثال ، يطلب منك Debian (وأعتقد ، Ubuntu) استخدام الأمر التالي لإعادة تكوين الإعدادات المحلية.

dpkg-reconfigure locales

تنويه؛ لست متأكدًا مما إذا كانوا قد غيروا هذا ، ولم يختبروه منذ فترة. :-)

يمكنك بالطبع تعيين اللغات في القشرة في كل مرة تقوم فيها بتسجيل الدخول أو في ملف التعريف الخاص بك. أوصي باستخدام طريقة التوزيع للقيام بذلك (إذا كنت بحاجة إلى القيام بذلك بعد كل شيء :-)).

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