Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) MySQL (число прочтений - 4907 )
Kayar
Junior Member
**
Отсутствует



Сообщений: 16
Зарегистрирован: 28. Июля 2006
Пол: Мужской
MySQL
31. Августа 2006 :: 15:45
Печать  
Проблемка. Передаю данные из 1С в базу MySQL кудато в мире...
русские буквы не передаются - одни вопросики. Кодовые страницы базы там и здесь совпадают.
Подскажите как побороть эту проблемку.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MySQL
Ответ #1 - 31. Августа 2006 :: 17:15
Печать  
В зависимости от версии мускула
set character set cp1251_koi8

set names cp1251
  
Наверх
 
IP записан
 
Kayar
Junior Member
**
Отсутствует



Сообщений: 16
Зарегистрирован: 28. Июля 2006
Пол: Мужской
Re: MySQL
Ответ #2 - 01. Сентября 2006 :: 08:58
Печать  
похоже у меня 1С както не в том режиме работает
когда я в 1С в буфер копирую строку с русскими буквами, и вставляю а ексель, например - вставляется вопросики Печаль
ладно - буду капать дальше - где мышка сдохла....
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: MySQL
Ответ #3 - 01. Сентября 2006 :: 10:05
Печать  
Kayar писал(а) 01. Сентября 2006 :: 08:58:
похоже у меня 1С както не в том режиме работает
когда я в 1С в буфер копирую строку с русскими буквами, и вставляю а ексель, например - вставляется вопросики Печаль
ладно - буду капать дальше - где мышка сдохла....

это случается, если в момент копирования в 1Се раскладка - не русская
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MySQL
Ответ #4 - 01. Сентября 2006 :: 10:05
Печать  
Баг известный. Решение
1) или перед копированием переключайся в английскую раскладку
2) или нужно поменять настройку раскладки в реестре. подробнее в инете, чтото по замене nls-файлов
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Kayar
Junior Member
**
Отсутствует



Сообщений: 16
Зарегистрирован: 28. Июля 2006
Пол: Мужской
Re: MySQL
Ответ #5 - 01. Сентября 2006 :: 10:25
Печать  
artbear писал(а) 01. Сентября 2006 :: 10:05:
Баг известный. Решение
1) или перед копированием переключайся в английскую раскладку
2) или нужно поменять настройку раскладки в реестре. подробнее в инете, чтото по замене nls-файлов


С копированием решил - теперь подбираю режим при котором запрос Insert передаст руссские символы а не вопросики
  
Наверх
ICQ  
IP записан
 
Kayar
Junior Member
**
Отсутствует



Сообщений: 16
Зарегистрирован: 28. Июля 2006
Пол: Мужской
Re: MySQL
Ответ #6 - 01. Сентября 2006 :: 14:20
Печать  
появилось подозрение что 1С++ при выполнении запросов сам перекодирует русские символы.
вот только в какую кодировку?
  
Наверх
ICQ  
IP записан
 
Kayar
Junior Member
**
Отсутствует



Сообщений: 16
Зарегистрирован: 28. Июля 2006
Пол: Мужской
Re: MySQL
Ответ #7 - 01. Сентября 2006 :: 16:50
Печать  
Прошу помочь с проблемой. Чувствую - истина гдето рядом, а не вижу.
Подробно описываю:
1С77 релиз 25 база ДБФ
сервер MySQL гдето в мире
DB = СоздатьОбъект("ODBCDataBase");
             DB.Соединение("DRIVER={MySQL ODBC 3.51 Driver}; ...");
RS = СоздатьОбъект("ODBCRecordSet");
Т="INSERT INTO ааа (prod_name) values ('Какая-то строка, неважно константа или через переменную')";
Если RS.Выполнить(Т) = 0 Тогда
КонецЕсли;  - ошибки нет - все добавляет
но в там в таблицу попадает не в нужной кодировке.
владелей базы MySQL утверждает что база постоена вся в кодировке cp1251
У меня вся система тоже 1251 и база 1С тоже.
При ручном вводе данных там на сервере в базу - все отлично
но привыполнении запроса из базы
Т="select prod_name from aaa";
Если RS.ВыполнитьИнструкцию(Т,ТЗ,1) = 0 Тогда
КонецЕсли;
ошибки нет-  значение получено но все что русское - вопросики Печаль
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MySQL
Ответ #8 - 01. Сентября 2006 :: 20:25
Печать  
Я уже написал во втором посте...
Код
Выбрать все
DB = СоздатьОбъект("ODBCDataBase");
DB.Соединение("DRIVER={MySQL ODBC 3.51 Driver}; ...");
RS = СоздатьОбъект("ODBCRecordSet");
RS.Выполнить("set names cp1251")
RS.Выполнить("твой мегазапрос")
 

  
Наверх
 
IP записан
 
Kayar
Junior Member
**
Отсутствует



Сообщений: 16
Зарегистрирован: 28. Июля 2006
Пол: Мужской
Re: MySQL
Ответ #9 - 02. Сентября 2006 :: 06:14
Печать  
теперь сработола
я вчера пробовал первую запись (set character set cp1251_koi8) - не получалось
спасибо
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MySQL
Ответ #10 - 02. Сентября 2006 :: 11:48
Печать  
Я ж говорю - зависит от версии. На версии до 4.1 надо было первую строку.
От 4.1 и до 5 - второй вариант.

Кстати, на 5-х версиях не знаю, сработает ли. Не ставил, тормозная...
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать