Я пытаюсь решить проблему на странице, которая собирает информацию из формы. В <head>
мы имеем:Работа со специальными символами (апострофы) в MySQL и PHP
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
После подключения к базе данных есть строка:
mysql_query("SET NAMES utf8");
Одно из полея, которые вставляются в переменных $ комментариев обычно апостроф поэтому у нас есть строка:
$comments= addslashes($comments);
перед тем как вставить его в базу данных.
Когда мы пытаемся прочитать из базы данных в другой странице мы выполняем эту строку
stripslashes($row[$comments]);
Когда мы "получаем простую? (Вопросительный знак), это фактически хранящийся, как это в MySql.
других символы, такие как простой апостроф 'просто становится ... в базе данных и или аналогичных.
Как избавиться от этих символов вопросительного знака и сохранить исходные данные?
Вы должны использовать 'PDO' или' mysqli подготовленные заявления', это решит эту проблему и SQL-инъекции !!! – cmorrissey
** ПРЕДУПРЕЖДЕНИЕ **: Если вы просто изучаете PHP, пожалуйста, не изучайте устаревший интерфейс 'mysql_query'. Это ужасно и удаляется в будущих версиях PHP. Современная замена, такая как [PDO, не трудно учиться] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/). Руководство, подобное [PHP The Right Way] (http://www.phptherightway.com/), может помочь объяснить лучшие практики. Всегда будьте абсолютно уверены * ваши пользовательские параметры [правильно экранированы] (http://bobby-tables.com/php), или у вас будут серьезные [ошибки SQL-инъекций] (http://bobby-tables.com/). – tadman