Почему эти символы в PHP конвертируются? - PullRequest
0 голосов
/ 15 апреля 2011

Я получаю некоторую информацию, например большие объемы текста, из базы данных, но при отображении с использованием PHP символы меняются.Как мне заставить его отображать нормальную вещь?Спасибо.

//makes database connection and queries the db
$row = mysqli_fetch_array($result);
echo $row['text'];



  � inside has a question mark
\ before every apostrophe
and it\\\'s

и не только ...

1 Ответ

2 голосов
/ 15 апреля 2011

Прежде всего, чрезмерные косые черты. Обычно это вызвано избыточным экранированием, которое может быть вызвано magic_quotes, поэтому рекомендуется отключить его и использовать mysql_real_escape_string для данных, поступающих в базу данных. Прежде чем отключить его, убедитесь, что данные экранированы правильно, так как это может привести к использованию эксплойтов sql-инъекций на вашем сайте.

Насколько странный персонаж. Ваша база данных и набор символов сайта должны совпадать. Убедитесь, что кодировка вашего сайта установлена ​​в utf-8, либо с метатегом, либо с настройкой header.

Это сложное изменение для magic_quotes, но как только это будет сделано, вам не придется беспокоиться о повторном использовании stripslashes в ваших данных. Так как вам не нужно вводить stripslashes данных, поступающих из базы данных, если они были правильно экранированы в первую очередь.

...