parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Решение

Евгений Смирнов 26.02.2005 19:18

В действительности, при переносе данные записались не в настоящей cp1251, а как binary.

Теперь о решении проблемы с кириллицей в MySQL 4.1. Вначале узнаем настройки кодировок у сервера БД:
$a[^table::sql{SHOW VARIABLES LIKE 'character%'}]
^a.join[^table::sql{SHOW VARIABLES LIKE 'collation%'}]
^a.menu{$a.Variable_name = $a.Value}[<br>]
Изменяем переменные:
^void:sql{SET character_set_client = cp1251}

# любознательным: если поставить либо utf8_bin у collation_connection, либо ClientCharset=utf-8 в строке подключения "Парсера", кириллица отображается, но символьные функции не работают ["лайки" (LIKE), например, не смогут привести строку к единому регистру]
# collation_connection = cp1251_general_ci пропишет еще character_set_connection = cp1251
^void:sql{SET collation_connection = cp1251_general_ci}

^void:sql{SET character_set_results = cp1251}
У таблиц, на всякий случай, прописана кодировка: TABLE CREATE ... (...) CHARSET=cp1251.

Вероятно, в следующих версиях "Парсер" должен научиться указывать MySQL 4.1 параметры работы с кодировками (измените ClientCharset - придется поправлять character_set_client, character_set_results).