English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Mac下MySQL数据库中文乱码解决方案:
当我们使用框架进行数据库的存储操作时,经常会遇到中文乱码的问题。
例如:在使用Java的SSH框架时,我们需要在web.xml文件中配置编码的filter,具体代码是:
<span style="font-family:FangSong_GB2312;font-size:14px;"><!-- 处理表单乱码,必须在OpenSessionInViewFilter的filter之前 --> <filter> <filter-name>CharacterFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
ثم عند إجراء تخزين قاعدة البيانات وجدت أن النص الصيني الذي تم تخزينه في قاعدة البيانات كان مشوشًا، في هذه الحالة إجراء التتبع المشروع وجد أن القيمة التي تم إدخالها في SQL هي نص صيني طبيعي بالفعل،
لذا في هذا الوقت نحتاج إلى التحقق من رمز قاعدة البيانات.
استخدم أمر SQL لرؤية تنسيق الرمز الافتراضي:
<span style="font-family:FangSong_GB2312;font-size:14px;">show variables like "%char%";</span>
راجع تنسيق رمز قاعدة بيانات test:
<span style="font-family:FangSong_GB2312;font-size:14px;">show create database test;</span>
ثم نبدأ بتعديل رمز MySQL تحت Max:
بسبب أن رمز النص الافتراضي لـ MySql في إصدار Mac ليس utf-8، لذا يجب اتخاذ الخطوات التالية لإجراء التعديل
أدخل في الشاشة النهائية
<span style="font-family:FangSong_GB2312;font-size:14px;">sudo -s</span>
ثم سيطلب منك إدخال كلمة المرور، هذه هي كلمة المرور للنظام!
أدخل في سطر الأوامر
<span style="font-family:FangSong_GB2312;font-size:14px;">cd /usr/local/mysql/support-files</span>
استمر في إدخال (نسخ الملف إلى مجلد etc)
<span style="font-family:FangSong_GB2312;font-size:14px;">cp my-default.cnf /etc/my.cnf</span>
استمر في إدخال (الانتقال إلى مجلد etc)
<span style="font-family:FangSong_GB2312;font-size:14px;">cd /etc</span>
استمر في التدخل، وإدخال
<span style="font-family:FangSong_GB2312;font-size:14px;">vimy.cnf</span>
في هذه اللحظة، ستجدون أن أداة vi قد فتحت ملف my.cnf، والتحريك في الأعلى والأسفل واليسار واليمين للماوس يتم عبر هذه الأزرار h، j، k، l، في نظام التشغيل Mac، قد تكون النسخة 10.9.3 مختلفة، والزر h يعمل!
ثم اضغط على زر j لتحريك الماوس إلى نهاية [client]، وأضف خصائص واحدة: (أو استخدم الأسفل)
<span style="font-family:FangSong_GB2312;font-size:14px;">default-character-set=utf8 (لا يمكن استخدام هذا الخصائص في mysql 5.5 أو أحدث)
أضف تحت [mysqld]، أي نسخة 5.5 أو أقدم، تتجاهل هذا الخصائص في النسخ الأحدث)
استمر في الضغط على الزر، وقلل الماوس إلى [mysqld]، وأضف ثلاث خصائص
<span style="font-family:FangSong_GB2312;font-size:14px;">default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci</span>
اضغط على زر ESC في الزاوية العلوية اليسرى من لوحة المفاتيح للخروج من الوضع التحريري، ثم اكتب نقطة علامة زائد وأحرف x
أعد تشغيل خدمة MySql
في هذه اللحظة، عندما تقومون بتنفيذ عملية قاعدة البيانات مرة أخرى، يمكن حفظ اللغة الصينية بشكل طبيعي!
شكرًا على القراءة، آمل أن تكون قد ساعدتكم، شكرًا لدعمكم لهذا الموقع!