В базе данных есть тонна записей, которые не были экранированы, потому что они были введены вручную, когда они были вставлены, поэтому они выглядят так: Не внутри записи, но когда я пытаюсь отобразить их, у них появляются странные символы, когда я вывод в PHP. Прежде чем помещать что-либо в базу данных, я обычно использую mysqli_real_escape_string, а затем делаю то же самое, когда собираюсь получить данные, но, поскольку данные уже сохранены без использования real_escape, как мне правильно их отобразить?
Символ, отображаемый вместо одинарных кавычек, выглядит следующим образом: 100
Если это помогает, данные хранятся в виде «текста».
Спасибо!
Для будущих пользователей той же проблемы вот шаги:
- Проверьте заголовки вашего сайта, чтобы увидеть, какая кодировка
- Проверьте столбцы таблицы MySQL и убедитесь, что они совпадают.
- Если они не меняют их для соответствия. у меня работает utf8_general в mysql и utf8 в моем HTML
- Вам придется вернуться к старым таблицам mysql и обновить их, чтобы новая кодировка была установлена правильно.
- Новые записи должны работать нормально
- Когда вы выводите свои результаты в PHP (или, я полагаю, на каком бы языке вы не использовали), в зависимости от того, используете ли вы какую-либо проверку, вам, возможно, придется использовать mysqli_real_escape_string или аналогичную функцию, такую как stripslashes ()