powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Правильная кодировка данных
16 сообщений из 16, страница 1 из 1
Правильная кодировка данных
    #32044889
Alex Apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОС - WINNT 4.0
Версия Оракл'а - 8.1.7
Есть БД у которой чарсет CL8MSWIN1251
а регион AMERICAN_AMERICA
Этот параметр ("AMERICAN_AMERICA.CL8MSWIN1251")
прописан во всех ключах реестра.

И все равно при этом вместо нормальной кодировки получаю в данных "??????"

Чем лечится?
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32044907
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в базу данные правильно залиты?
Проверить просто: вставить пару строчек в таблицу и затем их прочесть
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32044909
Noname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Charset базы данных определяется при помощи:
select * from nls_database_parameters;
Кроме того, важно, что прописано на клиенте.
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32044910
Alex Apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я заливал из дампа.
В кодировке win из-под Far'a данные смотрятся нормально.
И , кстати, все кнопки интерфейса выглядят нормально (по русски)
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32044912
Alex Apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чарсет я так и смотрел
а сервер и клиент у меня на одной машине.
И в реестре я правил все встретившиеся параметры NLS_LANG
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32044935
Noname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какой charset был у базы, из которой делался дамп? Если он несовпадает с текущим, могут быть глюки.
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045081
Alex Apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо
вопрос снят
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045563
nvasunin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кодировка, в какой сделан дамп, храниться в dmp-файле в 3-м байте. Это лекго проверить, сделав 2 одинаковых дампа но с разной клиентской кодировкой и сравнив файлы.
У меня был случай, когда дамп, сделанный из-по WE8ISO8859P1 в БД и WE8ISO8859P1 на клиенте содержал русские символы!!!, причем в кодировке win1251!!!. Естественно, попытки выполнить импорт приводили к ???????????????? вместо русских символов, какая бы кодировка не стояла в БД и на клиенте. Как это получилось у тех, кто делал экспорт - для меня загадка.
БД у меня под CL8MSWIN1251, клиент тоже.
Я поставил в дампе в 3-м байте 0xAB - это как раз CL8MSWIN1251, и сделал импорт. Все прошло на ура.
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045585
Noname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2nvasunin:
А как вы узнали, что 0xAB соответствует CL8MSWIN1251? Где можно посмотреть такие коды для других кодировок?
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045620
ora600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2nvasunin
про WE8ISO8859P1 :
Наверное, в ДОС-сессии перед экспортом было
SET NLS_LANG=....CL8MSWIN1251 и экспорт НЕ директ
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045692
nvasunin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//А как вы узнали, что 0xAB соответствует CL8MSWIN1251? Где можно посмотреть такие коды для других кодировок?

Очень просто. Установил на клиенте нужную кодировку, сделал экспорт, посмотрел 3-й байт.
Установите NLS_LANG=....CL8MSWIN1251, получите в третьем байте 0xAB, установите другую кодировку, получите в 3-м байте значение, соответствующее этой кодировке. А где их посмотреть - не знаю. Скорее всего, это нигде не документированная информация.

//про WE8ISO8859P1 :
Наверное, в ДОС-сессии перед экспортом было
SET NLS_LANG=....CL8MSWIN1251 и экспорт НЕ директ

Не знаю.... Если бы было SET NLS_LANG=....CL8MSWIN1251, то и при экспорте бы данные конвертировались из ISO в MSWIN, и при этом в файле экспорта тот самый 3-й байт был бы про MSWIN. А он был про ISO, да и imp писал, что экспорт, мол, был сделан в WE8ISO8859P1, а на клиенте, мол, стоит CL8MSWIN1251, т.ч. при импорте будет выполнена перекодировка. Как при выполнении экспорта под WE8ISO8859P1 в дмп-файл попали русские символы (их вообще в этой кодировке не должно быть), да и еще в виндовой кодировке - для меня загадка! Более того - у них (у кого я брал дмп-файл) в БД и на клиенте стоит кодировка WE8ISO8859P1. Как они умудряются при этом иметь русские символы - я не понимаю! Я пробовал у себя создать БД в этой кодировке - сразу после инсёрта все русские символы становятся ????????, и это понятно. Как работают они в этой кодировке - не понял. Впрочем...., я их БД вживую не видел, имел только дмп-файл, копию HKLM\SW\Oracle с клиентской ПК и устное заверение, что везде стоит кодировка WE8ISO8859P1.
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045695
ora600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2nvasunin
Да, загадочно...
Но в WE8ISO8859P1 Вы, кстати, почти без проблем сможете работать с русским, Ессно при соответствующих записях реестра. Проблемы будут с сортировкой по некоторым символам (нифига себе без проблем ;-) ) и их отображению. Вроде "Э", "Я" в каком-то регистре, "Ы", не помню точно - то были далекие времена незнания
CREATE DATABASE ... CHARACTER SET = ... :-)
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045696
nvasunin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ora600
//Но в WE8ISO8859P1 Вы, кстати, почти без проблем сможете работать с русским, Ессно при соответствующих записях реестра

В смысле, если на клиенте будет нормальная русская кодировка, а на сервере WE8ISO8859P1? Честно говоря, я так не пробовал. По идее, должно сработать, т.к. кодировка WE8ISO8859P1 - восьмибитная. Штука в том, что у них и на клиенте WE8ISO8859P1. Чудеса....
Ну да ладно, бог с ним.
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32045796
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Noname:
2nvasunin:
>А как вы узнали, что 0xAB соответствует CL8MSWIN1251?> Где можно посмотреть такие коды для других кодировок?

SELECT NLS_CHARSET_ID('CL8MSWIN1251') FROM DUAL ;-)
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32046318
Noname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С русским языком в кодировке WE8ISO8859P1 особых проблем нет. Я и сейчас ее использую на Oracle под WinNT/2k. Единственная проблема -- это использование этой кодировки при работе с базой через JDBC. Драйвер при перекодировании из ISO в Unicode просто добавляет старший байт 0x00, поэтому увидеть русские буквы в кодировке Unicode не удастся. Единственный выход -- использовать CL8MSWIN1251.
...
Рейтинг: 0 / 0
Правильная кодировка данных
    #32152978
matv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, у меня возникла ситуация подобная NVASUNIN.
Чем можно редактировать 3-ий байт ?
Дамп имеет размер 900Мб. Редактор FAR погибает по нехватке памяти.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Правильная кодировка данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]