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




MySQL.RU - Webboard



Вернуться
MySQL и charset - как обойти? (Алекс) 17/01/2003 - 00:43:13
      Re: MySQL и charset - как обойти? (vi.k) 19/01/2003 - 12:38:53
      Re: MySQL и charset - как обойти? (UndeRTakeR) 30/01/2003 - 21:41:21

> Original message text:
> From: Алекс - 17/01/2003 - 00:43:13
> Subject:MySQL и charset - как обойти?
> -----------------
> Хостер отказался изменять свои конфиги, мотивируя тем, что тогда у остальных дефолтный чарсет будет неправильным... И вообще, не хотят они ничего менять в настройках MySQL сервера.
>
> Что же можно сделать для того, чтобы нормально работала сортировка и т.п.??! Наверное есть какой-то способ?..
>
> Может надо особым образом конвертировать данные при записи в таблицу и потом их декодировать?.. Обычная подстановка тут не подойдет, я так полагаю?
>
> Пожалуйста, кто сталкивался с такой проблемой - помогите!
>
> Спасибо.
>


From: vi.k - 19/01/2003 - 12:38:53
Subject:MySQL и charset - как обойти?
-----------------
> Может надо особым образом конвертировать данные при записи в таблицу и потом их декодировать?.. Обычная подстановка тут не подойдет, я так полагаю?

В конце концов почему бы и нет?
Думаю можно придумать. Если кодировка на сервере latin1 (по умолчанию ставится) то в ней символы от 0 до BF расположены по возрастанию без каких либо исключений.

Я предпалагаю, что у хостера и у тебя различные языки.
Не так чтоб у них koi8, а у тебя cp1251 (cp1250 vs latin2, win1251ukr vs koi8_ukr). А то тогда просто смотри SET CHARACTER SET...

Если ипользуешь только русский и к примеру cp1251 и не используешь букву "Ё":
Вариант:
Кодируем: c = c - 'А' + 32; // 'А' - русская
Декодируем: c = c + 'А' - 32;

С буквой "Ё" чуть посложнее.
С КОИ-8 можно таблицы кодирования / декодирования предусмотреть.

Если ещё и английским пользуешься то кодируй каждый русский символ двумя из ASCII. Например тем же способом, только вперёд ещё добавляешь какой-нибудь "~" чтоб русские всегда были после английских или "!" - чтоб впереди.
Соответственно символ "~" кодировать двумя "~~". Декодирование элементарное.

Только сначала необходимо знать что за кодировка всё таки у хостера...

Жестоко конечно всё это. Но кроме как сменить хостера ничего лучше предложить не могу.
MySQL AB обещали сделать, чтоб на каждое соединение могла работать своя кодировка. Но это будет если конечно будет (а может уже есть) только в 4.x. и я не думаю, что хостер станет менять версию MySQL.



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

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

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



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