The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с кодировкой в MySQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"Проблема с кодировкой в MySQL"  +/
Сообщение от silent79 email(ok) on 09-Ноя-10, 20:40 
Доброго времени суток. Прошу прощения, если добавил не туда куда надо.
У меня такая проблема. Для примера приведу вот такую таблицу
CREATE TABLE `fillist` (
  `id` int(15) NOT NULL AUTO_INCREMENT,
  `pref` varchar(3) DEFAULT NULL,
  `prefid` varchar(2) DEFAULT NULL,
  `fil` varchar(100) DEFAULT NULL,
  `del` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `prefid` (`prefid`),
  KEY `del` (`del`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=cp1251;

Сервер 5.1.52-community, установлена кодировка cp1251. Использую MyODBC 5.1.52. Подключаюсь к БД из СУБД Visual FoxPRO.

В настройках ODBC также установлена кодировка cp1251.

И теперь запрос.
select concat(pref,id) as pref, fil from fillist
на выходе получаю вот такое
pref    fil
??-1    Отдел проектирования
??-2    Пробный отдел
??-3    Отдел автоматизации

Потом в настройках ODBC меняю кодировку на latin1 и отрабатываю тот же самый запрос, и получаю
pref    fil
ПП-1    ????? ??????????????
УК-2    ??????? ?????
ВД-3    ????? ?????????????

Вот такая у меня проблема, т.е. везде, где использую concat(), причем данные разного типа происходит такая бяка. И не могу понять где проблема, или в настройках драйвера ODBC, или в настройках самого MySQL сервера.

Подскажите пожалуйста куда копать...

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с кодировкой в MySQL"  +/
Сообщение от PavelR (??) on 09-Ноя-10, 21:53 
> В настройках ODBC также установлена кодировка cp1251.
> Потом в настройках ODBC меняю кодировку на latin1 и отрабатываю тот же
> самый запрос, и получаю
> Подскажите пожалуйста куда копать...

Прекратите выставлять latin1 в настройках ODBC

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Проблема с кодировкой в MySQL"  +/
Сообщение от silent79 email(ok) on 09-Ноя-10, 22:12 
> Прекратите выставлять latin1 в настройках ODBC

:) если внимательно посмотреть на мое сообщение, то там видно в чем проблема. В первом случае используется кодировка cp1251 и первый столбец получается из concat(pref,id), а второй просто поле из таблицы. в первом столбце получаются данные типа ??-1, а во втором то, что надо.

Когда меняю кодировку на latin1 в настройках ODBC, то выборка получается наоборот - первый столбец как надо, а второй "вопросиками"


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру