MySQL - تم إضافة أحرف مربعة مضحكة إلى القيمة عند إدخالها في الجدول
سؤال
لديّ برنامج نصي PHP يقوم بإدراج القيم في جدول MySQL
INSERT INTO stories (title) VALUES('$_REQUEST[title]);
لقد راجعت قيم متغيرات طلبي قبل الذهاب إلى الطاولة وهو جيد.
ولكن عندما أضيف العنوان = جون إلى الطاولة على سبيل المثال ،
أحصل على شيء مثل هذا:title = "[][][][]john"
وعندما أقوم باستخراج القيمة ، فهو خط جديد ثم جون.
لديّ أعمالي تم تعيينها على UTF-8 ، لقد جربت أيضًا الأحرف السويدية.
ملاحظة: لا أحصل على هذا الخطأ عند إدخال القيم من سطر الأوامر phpmyadmin
المحلول
انت تحتاج {}
حول أي تدوين صفيف عند استخدامه في الداخل ""
.
$q="INSERT INTO stories(title) VALUES('{$_REQUEST['title']}')";
راجع للشغل ، سيكون من الأفضل ، عند التحقق real_escape_string()
نصائح أخرى
SET NAMES <encoding>
يجب تنفيذ الاستعلام في كل مرة تتصل فيها بقاعدة البيانات الخاصة بك.
قاعدة بسيطة جدا.
أين <encoding>
هل تشفر صفحة HTML الخاصة بك في لهجة MySQL (utf8
لـ UTF-8)
تحتاج إلى التحقق من مجموعة الأحرف من قاعدة البيانات والخادم والعميل.
لاحظ أنها ليست مجموعة شخصية سويدية ، إنها جمع سويدي.