Здравствуйте. В очередной раз встречаюсь с проблемой кодировок. И кто их только наплодил..... В общем, скачал скрипт для редактирования БД MySQL, скрипт основан на Ajax, в котором я не бум-бум. Он был рассчитан на импортных пользователей, поэтому с русским языком там разумеется были проблемы. Я ее порешал за исключением последнего момента. Объясню на картинках. Вот так выглядит страница: Нажимаю на фамилию "Петров", чтобы дописать туда имя "Сергей": Затем нажимаю Enter и происходит следующее: В БД заносится такая же фигня. Страничка и сама БД в кодировке cp1251_general_ci. В чем может быть дело?
У меня эта страничка будет взаимодействовать с другими таблицами, которые в cp1251 (кодировка изменению там не подлежит). Как тут можно выйти из положения?
cp1251_general_ci. Поставь во всех сравнениях в базе utf8_unicode_ci открой файлы базы и попробуй все файлы в cp1251 перевести UTF8 Перед переводом кодировок сделай копии фалов. Может поможет...
Ребят. Строки вида \u041F - это не проблема кодировки Это сериализация кириллических символов в JSON. При сохранении объекта используется функция json_encode без флага JSON_UNESCAPED_UNICODE https://php.ru/manual/function.json-encode.html
@topas, проблема у ТС возникает после сохранения отредатированных данный. На клиенте изменил значение поля, ajax-ом отправил на сервер и сохранил в БД. И вот то, что попадает на сервер и сохраняется в базе, мы наблюдаем на последнем скрине.
@Deonis Ну не знаю, мне почему-то кажется что проблема одинаково может скрываться как на серверной части так и на клиентской. За JS я подобного поведения не встречал, а вот с функцией json_encode были эти самые проблемы. Поэтому собственно и предположил что надо смотреть момент сериализации на сервере перед записью в БД