|
Неверная кодировка dbf при загрузке в sql базу | ☑ | ||
---|---|---|---|---|
0
Rabindranath Tagore
12.10.20
✎
10:25
|
Доброго времени!
Читаю файл dbf на sql-серверной базе, отображается неверная кодировка. Тот же файл корректно читается в файловой базе на том же компьютере где установлен SQL сервер, под WinServer2016. SQL-Express был переустановлен на русский вариант, чтобы поддерживалась Cyrillic, язык учетной записи админа был поменян на русский, запускаю базу под учеткой администратора-не помогает В dbf viewer видно, что корректный вид достигается именно кодировкой OEM(DOS) а не ANSI; в прогр.коде кодировка OEM прописана до открытия файла-не помогает, так же как и если указать кодировку после открытия файла Есть ли идеи, коллеги? |
|||
1
Ёпрст
12.10.20
✎
12:53
|
Больше кода
|
|||
2
acht
12.10.20
✎
15:08
|
(0) По стандарту DBF, кодировка OEM - это не русский DOS, как тебе хочется. Это "кодировка, которая установлена поставщиком по умолчанию". Необходимо, чтобы для процесса OС, читающего файл, была установлена русская локаль.
|
|||
3
Rabindranath Tagore
13.10.20
✎
18:01
|
(2)
|
|||
4
Rabindranath Tagore
13.10.20
✎
18:04
|
(2) В свойствах базы данных Язык по умолчанию указан Русский, в настройках языков под учетной записью язык по умолчанию также Русский
|
|||
5
acht
13.10.20
✎
22:55
|
(4) Под учетной записью чего?
|
|||
6
Rabindranath Tagore
14.10.20
✎
12:25
|
(5) под учетной WinServer админа
|
|||
7
Rabindranath Tagore
14.10.20
✎
12:27
|
Также в конфигураторе sql базы в "Администрировании-Региональные установки ИБ" указано русский (Россия)
|
|||
8
acht
14.10.20
✎
12:31
|
(6) Процесс ОС, читающий дбф должен быть запущен с русской локалью. Когда ты читаешь на клиенте, процесс (внезапно) запущен под твоей учеткой пользователя ОС. Когда ты читаешь на сервере, процесс запущен под пользователем ОС сервера приложения. Вот у него и должна стоять русская локаль.
|
|||
9
Rabindranath Tagore
14.10.20
✎
14:45
|
Кодировка под sql корректна. Резюмирую моменты, на которые стоит обратить внимание, т.к. что именно из этого помогло-доподлинно неизвестно. Язык учетной системы WindowsServer должен быть выбран русский в Панель управления - Региональные стандарты- Дополнительно ("текущий язык программ, не поддерживающих Юникод")
Пакет установщика SQL сервера должен быть на русском, так же как и установленная платформа 1С и Сервер 1С(проверить до кучи региональные настройки внутри самой БД, в конфигураторе в ветке Админ-ние) Важный момент, именно после которого кодировка dbf стала выводиться читабельно на русском языке: В регион.настройках панели управления на закладке Дополнительно по кнопке Копировать параметры выставил флаги "Копировать тек.параметры в Экран приветствия... и Новые уч.записи пользователей" и перезагрузил сервер. после этого почему то текущий язык программ, не поддерживающих Юникод выставился на англ, поменял снова на Русский, перезагрузив повторно, и после этого кодировка dbf починилась Всем спасибо за подсказки! |
|||
10
Sserj
14.10.20
✎
15:00
|
Скорее всего поможет, замени OEM на ANSI в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\xBase |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |