Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MySQL+mysqlpp+cp1251

314
08 октября 2008 года
fanto
374 / / 15.02.2003
Есть таблица в которой есть поле с русскими буквами в кодировке cp1251.
Моя задача -- получить данные, перекодировать в UTF и отдать дальше.
При старте соединения я передаю "SET NAMES cp1251;". (использую библиотеку libmysqlpp)
получаю, перекодирую, отправляю..... все работает/

Через некоторое время коннект обрывается, и я его восстанавливаю, передаю set names , и начинаю получать мусор.

Если не передавать set names после реконнекта, то результат аналогичный.

Я в панике.
314
09 октября 2008 года
fanto
374 / / 15.02.2003
Дополнительная информация:

Под мусором я подразумеваю байт 3Fh вместо любого кириллического символа.
Пробелы передаются правильно.
251
09 октября 2008 года
SkyMаn
1.7K / / 31.07.2007
Как на счет
Цитата:
SET character_set_client='cp1251';
SET character_set_results='cp1251';
SET collation_connection='cp1251_ukrainian_ci';

314
09 октября 2008 года
fanto
374 / / 15.02.2003
С этими SET`ами мусор идет сразу.

Или Я не понял и их надо было поставить ВМЕСТО set names, а не ДОПОЛИТЕЛЬНО....?
251
09 октября 2008 года
SkyMаn
1.7K / / 31.07.2007
Они взаимозаменяемы....
Выполни в пхпМайАдмине (или сторонней проге)
Цитата:
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';


и увидишь, что там много разных значений...
У меня это:

Цитата:
"character_set_client" "utf8"
"character_set_connection" "utf8"
"character_set_database" "cp1251"
"character_set_filesystem" "binary"
"character_set_results" "utf8"
"character_set_server" "latin1"
"character_set_system" "utf8"

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог