Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / В БД не пишутся русские буквы / 8 сообщений из 8, страница 1 из 1
05.03.2016, 13:38
    #39186401
openchess.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
Перенёс сайт на новый сервер. Прежние записи показываются нормально, а при попытке что-то написать на форуме по-русски вставляются пустые сообщения.
Народ ропщет.
Сайт старый, поэтому данные хранятся в кодировке 1251.
Версия сервера: 5.5.47-0ubuntu0.14.04.1.
В соединении прописал всё, что нашёл в FAQ:
Код: sql
1.
2.
3.
4.
5.
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query("SET character_set_connection='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_query("SET NAMES 'cp1251'");


Не помогло.

И вот ещё что: phpMyAdmin пишет, что "Версия клиентской библиотеки MySQL (5.6.16) отличается от версии установленного MySQL-сервера (5.5.47). Это может привести к некорректной работе." Может это быть связано с наблюдаемой проблемой или не обращать внимание?
...
Рейтинг: 0 / 0
05.03.2016, 13:45
    #39186404
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
openchess.ru,

Имхо, где-то на уровне сайта/веб-сервера затесалась другая кодировка в настройках.


openchess.ruВерсия клиентской библиотеки MySQL (5.6.16) отличается от версии установленного MySQL-сервера (5.5.47).На мой взгляд, это не критично и к обсуждаемой проблеме не относится. Но на всякий случай лучше их таки уравнять.
...
Рейтинг: 0 / 0
05.03.2016, 15:00
    #39186430
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
openchess.ruСайт старый, поэтому данные хранятся в кодировке 1251.
А в какой кодировке приходят данные на новый сервер?
...
Рейтинг: 0 / 0
05.03.2016, 15:50
    #39186459
openchess.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
Dimitry SibiryakovА в какой кодировке приходят данные на новый сервер?

Как это узнать?
...
Рейтинг: 0 / 0
05.03.2016, 19:33
    #39186527
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
посмотрите код клиентской страницы, что там у вас в заголовке
<head>
<meta charset=???
...
Рейтинг: 0 / 0
05.03.2016, 23:01
    #39186639
openchess.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
Alex_Ustinov,

На страницах указано charset=windows-1251.

Поискал Яндексом, почитал и понял, что проблема нерешаема.
Откатил сервер на древнейший Linux, Апач первой версии и такие же древние версии MySQL и PHP.
Сайт заработал отлично.

Наверное, тему можно считать закрытой.
...
Рейтинг: 0 / 0
06.03.2016, 00:03
    #39186677
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
openchess.ruпочитал и понял, что проблема нерешаемаНа мой взгляд, в посте очень и очень недостаточно данных для решения проблемы. Вот, Вы пишите:
openchess.ruпри попытке что-то написать на форуме по-русски вставляются пустые сообщенияНе понятно, куда сообщения пустыми вставляются. В таблицу базы данных вставляются поля с нулевой длиной строк? А что в запросе INSERT при этом - нулевая длина строк? Или в таблицу идёт какой-то нечитаемый текст новых сообщений, а на страницу форума из него выходит пустота? Вот, не понятно...

Не понятно, претерпевает ли текст какие-либо проверки на допустимость данных, изменения и т.п., прежде чем попасть от клиента в базу или из базы к клиенту. Если претерпевает - то какие именно и как/чем они выполняются, как настроено окружение. В общем, "смотреть надо". А так вот, без подробных данных задача действительно неразрешима.

Могу предположить, что у новых версий ПО имеются какие-то отличия от старых версий. Скорее всего, где-то используется иная дефолтовая кодировка. На старой версии она по счастливой случайности совпала с требуемой. Например, на старой версии использовалась какая-то однобитная кодировка в качестве дефолтовой, а на новой - utf-8.
...
Рейтинг: 0 / 0
06.03.2016, 14:56
    #39186887
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В БД не пишутся русские буквы
openchess.ruНа страницах указано charset=windows-1251.
Совершенно всё равно что указано на страницах, отдаваемых твоим сервером. Имеет значение только то, в какой кодировке код, заносящий информацию в БД, эту информацию получает и как он её преобразовывает к кодировке коннекта.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / В БД не пишутся русские буквы / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]