php mysqli_query запрос UPDATE не записывает русские буквы и текст в бд
PHP скрипт при работе с mysqli_query запрос UPDATE не записывает русские буквы и текст в базу данных.
Скрипт записан в формате Windows Cirillic.
Скрипт записан в формате Windows Cirillic.
Русские текст не записывается в нескольких случаев.
Сначала проверьте что у вас сразу после подключения к БД стоит функция:
Если русский текст продолжается не сохранятся в БД то возможно перед его занесением вы используете на текст какую-нибудь функцию PHP которая его автоматом конвентирует в UTF8, например функция htmlspecialchars()
Поэтому уберите все функции которые обрабатывают ваш текст до внесения в БД и попробуйте подставить напрямую с $_POST['текст']
Для функции htmlspecialchars используйте параметры для конкретной кодировки, например:
После этого ваш текст в кодировке Windows 1251 с удовольствием запишется в MYSQL базу данных.
Но все же лучше переходите на UTF-8 - меньше геммора с этими кодировками и поисками ошибок.
для экранирования также можно использоваться функции addslashes(), mysqli_real_escape_string() или вручную str_replace().
С addslashes могут возникнуть проблемы при работе с GBK.
Сначала проверьте что у вас сразу после подключения к БД стоит функция:
mysqli_query ($db, "SET NAMES CP1251");
или для старых PHP
mysql_query ("SET NAMES CP1251");
Если русский текст продолжается не сохранятся в БД то возможно перед его занесением вы используете на текст какую-нибудь функцию PHP которая его автоматом конвентирует в UTF8, например функция htmlspecialchars()
Поэтому уберите все функции которые обрабатывают ваш текст до внесения в БД и попробуйте подставить напрямую с $_POST['текст']
Для функции htmlspecialchars используйте параметры для конкретной кодировки, например:
$text = htmlspecialchars($_POST["text"],ENT_QUOTES|ENT_HTML401 ,$encoding = 'cp1251');
После этого ваш текст в кодировке Windows 1251 с удовольствием запишется в MYSQL базу данных.
Но все же лучше переходите на UTF-8 - меньше геммора с этими кодировками и поисками ошибок.
для экранирования также можно использоваться функции addslashes(), mysqli_real_escape_string() или вручную str_replace().
С addslashes могут возникнуть проблемы при работе с GBK.
Оставить свой ответ: