Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Кодировка на клиенте (GAMER) 24/02/2006 - 13:59:28
      Re: Кодировка на клиенте (Dinky) 24/02/2006 - 18:54:37
      Re: Кодировка на клиенте (GAMER) 24/02/2006 - 19:18:34
      Re: Кодировка на клиенте (Dinky) 24/02/2006 - 19:22:44
      Re: Кодировка на клиенте (GAMER) 25/02/2006 - 12:08:15
      Re: Кодировка на клиенте (walrus) 25/02/2006 - 12:19:17
      Re: Кодировка на клиенте (GAMER) 25/02/2006 - 12:57:37
      Re: Кодировка на клиенте (bac) 25/02/2006 - 15:49:15
      Re: Кодировка на клиенте (sz) 26/02/2006 - 13:38:36

> Original message text:
> From: GAMER - 24/02/2006 - 13:59:28
> Subject:Кодировка на клиенте
> -----------------
> Есть сервер 4.1.9 с кодировкой cp1251. Проблема следующая: некоторые клиенты нормально получают запросы с кирилицей, а некоторые - нет. Проверка сетевых пакетов показывает, что ответ приходит в нормальной кодировке. Получается, что клиент не правильно обрабатывает. В чем может быть проблема? может быть в libMySQL.dll? Например старый клиент (написаный на Билдере) работая через старую библиотеку libMySQL.dll и клиент на фоксе работают нормально, а новый клиент на Билдере с новой библиотекой и свой родной клиент (mysql) выдают знаки вопроса. Как бороться?
>


From: GAMER - 25/02/2006 - 12:57:37
Subject:Кодировка на клиенте
-----------------
Попробую поиграться с set names. Но все же не понятна мне логика такой работы. Приведу аргументы.
Имеем сервер который работает в некоторой кодировке.
Имеем несколько клиентов, которые используют разные LibMySQL.dll, или работают через tcp/ip напрямую без этой быблиотеки.
1. К серверу отправляется запрос на соединение. О кодировке клиента там речь не идет. (Или я ошибаюсь?)
2. После соединения клиент отправляет первый текстовый запрос типа SELECT * FROM (Опять таки о кодировке клиента речь не идет).
3. Сервер отправляет ответ в некотором виде, в котором явно присутствуют символы текстового поля.
4. Клиент читает ответ и отображает его.
Пункты 1-3 общие для всех клиентов, которые описаны выше.
Соответственно на сокет локальной машины приходят одинаковые ответы, поскольку запросы идентичны.
Следовательно делаю выводы, что проблема не в сервере, не в запросах, а в обработке приходящих пакетов. Поскольку этим занимается LibMySQL.dll (если не ошибаюсь), то разные версии этой быблиотеки по разному обрабатывают ответ. Следовательно проблема в библиотеке. (Клиент который работает без библиотеки отображает нормально). Еще не проверял новую версию библиотеки, потому что она не работает нормально с программами, которые ее используют (Еще не разобрался где проблемы.).

Возникает также подозрение, что ответ сервера где каждый байт - это символ поля, обрабатывается не верно, то есть клиент обрабатывает последовательность нескольких байт как один символ (типа юникода или похожого).

PS Может я делаю какие-то глупые ошибки, которые сейчас не вижу, но все же думаю, что написаное выше имеет место. :)


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
26680



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |