#0
by diamond-nsk
Здравия желаю! Возникла следующая ситуация, третий день не могу сам разобраться... Подключаюсь из 1С 8.3 через Внешние источники данных к мускулю, данные получаю - всё ОК, но русские буквы получаются кракозябрами: Щербаков Александр Сергеевич В самом Мускуле: Если подключиться к базе через какой-нибудь HeidiSQL - в табицах отображаются такие же кракозябры. В софте-владельце базы, который в эту базу, собсна, и пишет (UTM5) - всё ОК отображается. Строка подключения: Driver={MySQL ODBC 5.3 Unicode Driver}; Server=хх.хх.хх.хх; Пробовал добавлять в строку подключения: STMT=SET CHARACTER SET utf8; или STMT=SET CHARACTER SET latin1; или STMT=SET CHARACTER SET cp1251; - на результат никак не влияет, даже вид кракозябр не меняется... Кодировки в самом мускуле трогать нельзя, только как-то преобразовывать при чтении. Что я делаю не так, и что еще можно попробовать сделать/проверить?
#4
by Salimbek
Ну дык логично тогда, что крышу сносит. Закинул для теста туда: Ответ: Щербаков... (CP1252 ? UTF-8)
#5
by diamond-nsk
Ага, там же проверял, такой же результат. Какие мне действия предпринять, чтобы корректно выдергивать инфу в 1С? UMT5 как-то же работает с этой БД, корректно отображая русские символы.
#7
by Лефмихалыч
а потом при необходимости сконвертить символы в записях SELECT convert(cast(convert(LATIN1_FIELD using latin1) as binary) using utf8)
#8
by Лефмихалыч
там скорее всего в поле с коллэшном latin1_swedish_ci сохранены буквы из таблицы cp1252, которые ты в 1С пытаешься читать, как utf8_general
#9
by Лефмихалыч
+ я не знаю способов (хотя они наверняка есть) в 1С при чтении налету конвертить буквы, по этому предлагаю записывать без вот этих трюков cp1251>>latin1
#10
by diamond-nsk
Это, я так понимаю (простите, не великий спец - учусь), сконвертит саму таблицу в mysql и перекодирует символы в строках в "правильную" кодировку. Загвоздка в том, что это биллинг провайдера, конвертить таблицы которого мне, ессно дело, не дадут, на селект-то еле выбил доступ :) Тем более что он, биллинг, крутиться 24/7, непрерывно записывая сессии и траф около 15к абонентов + 6 операторов постоянно пялят в этот биллинг, и секир-башка будет, если что-то хоть на чуть-чуть остановится. Поэтому остаётся только вариант как-то "на лету" конвертить записи из этой биллинговой мускульной БД либо при подключении из 1С к MySQL, либо при выполнении SQL-запроса к БД, либо при обработке результатов выполнения запроса в 1С. При подключении в строке подключения указывая "STMT=SET CHARACTER SET latin1" - не реагирует. В SQL-запросе - нет возможности что-то такое указать, т.к. их выполняет сама 1C, транслируя свой псевдо-sql в реальный sql через объект "Внешний источник данных". А конвертить результаты запроса в другую кодировку 1С штатными средствами не умеет, пичааааль :(
#12
by Salimbek
Ну если никто за тебя не декодирует данные, то логичный вывод - декодируй сам. В качестве самого крайнего варианта - составляешь два массива: 1 - массив "А"-"Я" "а"-"я" и второй - находишь соответствие каждой букве, типа "?" - "Р", а далее каждую буковку преобразуешь. Или, можно, свою нормальную базу создать и выкачивать данные от провайдера в свою базу запросом, типа как в советуют. И уже оттуда вытаскивать данные для 1С.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- не могу открыть внешний отчет обработку
- v7: Внешний отчет поместить на кнопку в документе
- Внешний отчет
- Внешний источник данных для менеджера временных таблиц
- СКД Внешний отчет, СкомпоноватьРезультат и Внешний источник данных
- Внешний источник данных mySql
- Кодировка при подключении к внешнему источнику данных(MySQL)
- Как записать данные во внешний источник MySQL
В этой группе 1С
- УПП - как из регистра накопления продажи расчитать цену товара в документе
- Как выбрать файл, а затем переместить его (Ошибка совместного доступа к файлу).
- Корректировка поступления после ввода начальных остатков
- Форматированный документ. HTML
- Настройка списка документов, отбор — нет доступных полей
- Регистрация изменений объекта для узла
- Как влияет "Захвачено СУБД" на скорость работы системы
- Не отображаются остатки в РКМ 1С 8.2 Розница 2.0
- ....../ws/ws1.1cws?wsdl ошибка 404
- Большая таблица _reference112
- Корректировка реализации. Для договоров в условных единицах....
- УПП Материальные ОХР/ОПР на прямые как перевести?
- ОбновитьНумерациюОбъектов() Не помогает.
- Исходный текст модуля отсутствует
- ИмяПараметровПечати. Определить момент первой печати.
- Задача: создать N объектов в одной процедуре, записать их всех в другой
- Ошибка при подключении к базе на web-сервере
- СКД работа со строкой, убрать перевод каретки
- закрытие 26 счета
- Обновления с сайта https://users.v8.1c.ru/distribution/total