Oracle charset windows 1251

FAQ по ORACLE

Проблемы кодировки

Вопрос: Подскажите, как получить в Oracle список всех первичных ключей в виде: [id_column], [id_table]

Ответ: select col.column_name,con.table_name from user_constraints con,user_cons_columns col where col.constraint_name=con.constraint_name and con.constraint_type=’P’;

Это будет поименный перечень. Идентификаторы таблиц можно взять из user_tables, а столбцов — из user_tab_columns.

Вопрос:Как правильно выбрать кодовую страницу при инсталляции?

Ответ: Cпособы корректной установки поддержки национальных кодировок и стандартов в продуктах Oraclе обсуждались в статье С. Мосина [Oracle Magazine/Russian Edition номер 1 за лето 1996]

При инсталляции необходимо выбирать «Русский», даже если это пробная установка.

Однако часто еще встречаются СУБД Oracle с установленной CHARSET=WE8ISO8859P1 по умолчанию. Иногда это делается по незнанию, чаще с мыслью, что эта инсталляция временна, никогда не поздно будет изменить; а некоторые версии, например, распространявшаяся через Интернет trial версия Personal Oracle for Windows 3.1, не имели локальных кодировок.

Когда при этом реально возникают проблемы:

  • когда система переносится на платформу с другой основной кодировкой,
  • когда необходимо реэкспортировать в такую систему несколько таблиц с другой кодировкой,
  • неудобства типа невозможности перевода в другой регистр русских ‘Ч’ и ‘Я’ (временно можно корректировать написанием локализованных версий функций RLOWER() и RUPPER()).

К сожалению Oracle Corp. не предусмотрела легальных (документированных) способов изменения кодировок СУБД и приложений

Вопрос:Как можно решить проблемы, связанные с неверно заданной кодовой страницей?

Ответ:

    Изменение DATABASE CHARSET

Перекодировки данных здесь не происходит, изменяется только пометка для Oracle. Вы должны точно представлять в какой кодировке ваши данные находятся.

Прежде, чем использовать этот метод проверьте, присутствует ли необходимая вам кодировка в списке допустимых :

SQL> select value from V$NLS_VALID_VALUES

  • where parameter=’CHARACTERSET’
  • and (value like ‘RU%’ or value like ‘CL%’)

    Текущие установки NLS БД можно просмотреть используя view NLS_DATABASE_PARAMETERS. Что представляет из себя это view?

    SQL> select text from dba_views where view_name=’NLS_DATABASE_PARAMETERS’;

    substr(value$, 1, 30)

    where name like ‘NLS%’

    PROPS$ — это fixed table, где хранится информация об NLS и не только. Несмотря на термин fixed на многих версиях Oracle позволяет производить UPDATE над ней (хотя не во всех — какие-то версии Personal Oracle не допускают этого). Допустим Вы имеете WE8ISO8859P1, а Вам нужно CL8MSWIN1251.

    SQL> select * from props$ where name=’NLS_CHARACTERSET’;

    NAME VALUE$ COMMENT$

    NLS_CHARACTERSET WE8ISO8859P1 Character set

    SQL> update props$ set VALUE$=’CL8MSWIN1251′ where name=’NLS_CHARACTERSET’;

      row updated.

    SQL> select * from props$ where name like ‘NLS_CHARACTERSET’;

    NAME VALUE$ COMMENT$

    NLS_CHARACTERSET CL8MSWIN1251 Character set

    И после этого остается только поменять переменную среды NLS_LANG на сервере и клиентах и спокойно наслаждаться видом неизвращенных «Я» и «Ч» как больших так и маленьких.
    Использование Export — Import

    Как решить проблемы, возникающие при осуществлении экспорта в системе с кодировкой WE8ISO8859P1, а импорта на системе с русской кодировкой?

    Использование параметра CHARSET применимо для импорта данных из версий ранее 7 (Oracle 5, 6). Экспортный файл версии 7 содержит в себе информацию о кодировке данных, из-за чего и возникают проблемы. Как же этого избежать?

    Ответ заключается всего в одном байте экспортного файла, а именно — в третьем (точнее в двух байтах – втором и третьем, но в наших случаях второй байт равен 0x00), где и находится идентификатор CHARSET.

    Таблица . Идентификаторы CHARSET.

    Кодировка CS_ID(hex) CS_ID(dec) NLS RTL 3.1 Windows NLS RTL 3.2 Windows модуль из libnlsrtl.a *
    US7ASCII 0x01 1 lx20001.d lx20001.nlb lic001.o
    WE8ISO8859P1 0x1F 31 x2001F.d lx2001F.nlb lic031.o
    CL8ISO8859P5 0x23 35 lx20023.d lx20023.nlb lic035.o
    RU8PC866 0x98 152 lx20098.d lx20098.nlb lic152.o
    RU8BESTA 0x99 153 lx20099.d lx20099.nlb lic153.o
    RU8PC855 0x9B 155 lx2009B.d lx2009B.nlb lic155.o
    CL8MACCYRILLIC 0x9E 158 lx2009E.d lx2009E.nlb lic158.o
    CL8MACCYRILLICS 0x9F 159 lx2009F.d lx2009F.nlb lic159.o
    CL8MSWIN1251 0xAB 171 lx200AB.d lx200AB.nlb lic171.o
    CL8EBCDIC1025 0xB9 185 lx200B9.d lx200B9.nlb lic185.o
    CL8EBCDIC1025X 0xBA 186 lx200BA.d lx200BA.nlb
    CL8BS2000 0Xeb 235 lx200EB.d lx200EB.nlb lic235.o
    Читайте также:  Windows linux порядок установки

    *- для Oracle 7.1.4 SCO Unix (в других версиях может отличаться)

    Необходимо изменить этот байт с помощью любого шестнадцатеричного редактора.

    Советы Игоря Филимонова ЛАСУ ТРИНИТИ, г. Троицк (Oracle Club)

    Описанные методы применялись на версиях 7.1.4 — 7.2.2 для Windows 95, Windows NT, SCO Unix и.oracle 7.3 для HP/UX. Перед их использованием сделайте full export (backup).

    За дополнительной информацией обращайтесь в компанию Interface Ltd.

    Перекодировка с windows-1251 в utf-8

    Apache : перекодировка windows-1251-> unicode/utf-8
    Проблема такого плана, необходимо средствами сервера заставить перекодировать ‘на лету’ файлы.

    Перекодировка из utf в windows-1251. Удаление спец. символов.
    Необходимо сформировать xml файл в кодировке windows-1251. Даные для этого xml поступают из БД в.

    Перекодировка строки win-1251 в кодировку utf-8
    Помогите пожалуйста! есть проблема перекодировки строки win-1251 в кодировку utf-8. Может есть.

    Как создать рабочий XML в UTF-8? У меня исправно создаётся Windows-1251, но с UTF-8 проблема
    Доброго дня, форумчане. Подскажите, что делать, чтобы создавался и открывался без ошибок.

    Слишком расплывчатая задача.
    Исходные данные у вас в каком виде?
    Столбец в таблице, файл на диске, бинарный BLOB, а может CLOB ?
    Какой объем данных для конвертации? Для строки одни способы годятся, для CLOB — другие.
    Кодировка самой базы какая ?

    В простейшем случае, если база в windows-1251, то вообще уже готовая функция канает:

    Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

    Перекодировка строки в Windows-1251
    Формирую QR-код через dll которую 1С используют в типовых решениях (БГУ и проч). Загоняю строку в.

    Перекодировка из КОИ-8 в Windows 1251
    Разработать программу перекодировки текстовых файлов из кодового набора КОИ-8 в кодовый набор.

    UTF-16 -> cp-1251(windows-1251)
    У меня есть кириллическая строка UTF-16, которая выглядит как Хотелось бы конвертнуть её в.

    Перекодировка из OEM-866 в Windows-1251
    написан батник, результат каждой команды он выводит в лог так: 1>>%

    dp0\log.txt 2>>&1 понятно.

    UTF-8 to WINDOWS-1251
    Здравствуйте! Надо вот чего. Есть строка в UTF-8. После перекодировки функцией `UTF8ToString`.

    из UTF-8 в Windows-1251
    Как строку в формате UTF-8 перекодировать в Windows-1251? Добавлено через 16 минут Существуют.

    A Supported Character Sets

    This appendix lists the character sets that Oracle GoldenGate supports when converting data from source to target.

    The identifiers that are shown should be used for Oracle GoldenGate parameters or commands when a character set must be specified, instead of the actual character set name. Currently Oracle GoldenGate does not provide a facility to specify the database-specific character set.

    This appendix includes the following sections:

    A.1 Supported Character Sets — Oracle

    Table A-1 Supported Oracle Character Sets

    Arabic MS-DOS 710 8-bit Latin/Arabic

    Arabic MS-DOS 710 Server 8-bit Latin/Arabic

    Arabic MS-DOS 720 8-bit Latin/Arabic

    Arabic MS-DOS 720 Server 8-bit Latin/Arabic

    APTEC 715 8-bit Latin/Arabic

    APTEC 715 Server 8-bit Latin/Arabic

    Mac Server 8-bit Latin/Arabic

    Mac 8-bit Latin/Arabic

    Mac Client 8-bit Latin/Arabic

    ASMO 708 Plus 8-bit Latin/Arabic

    ASMO Extended 708 8-bit Latin/Arabic

    EBCDIC Code Page 420 Server 8-bit Latin/Arabic

    EBCDIC XBASIC Server 8-bit Latin/Arabic

    HP 8-bit Latin/Arabic

    ISO 8859-6 Latin/Arabic

    MS Windows Code Page 1256 8-Bit Latin/Arabic

    Mussa’d Alarabi/2 768 8-bit Latin/Arabic

    Mussa’d Alarabi/2 768 Server 8-bit Latin/Arabic

    Nafitha International 711 Server 8-bit Latin/Arabic

    Nafitha Enhanced 711 Server 8-bit Latin/Arabic

    Nafitha International 721 8-bit Latin/Arabic

    Nafitha International 721 Server 8-bit Latin/Arabic

    SAKHR 706 Server 8-bit Latin/Arabic

    SAKHR 707 8-bit Latin/Arabic

    SAKHR 707 Server 8-bit Latin/Arabic

    XBASIC 8-bit Latin/Arabic

    ISO 8859-9 Azerbaijani

    MS Windows 8-bit Bulgarian Cyrillic

    IBM-PC Code Page 437 8-bit (Bulgarian Modification)

    Latvian Standard LVS8-92(1) Windows/Unix 8-bit Baltic

    EBCDIC Code Page 1112 8-bit Server Baltic Multilingual

    EBCDIC Code Page 1112 8-bit Baltic Multilingual

    ISO 8859-13 Baltic

    MS Windows Code Page 1257 8-bit Baltic

    IBM-PC Code Page 775 8-bit Baltic

    Bangladesh National Code 8-bit BSCII

    IBM-PC Code Page 863 8-bit Canadian French

    Siemens EBCDIC.DF.04-2 8-bit Central European

    ISO 8859-13 Celtic

    DEC VT100 7-bit Swiss (German/French)

    Siemens EBCDIC.EHC.LC 8-bit Latin/Cyrillic-1

    EBCDIC Code Page 1025 Client 8-bit Cyrillic

    EBCDIC Code Page 1025 Server 8-bit Cyrillic

    EBCDIC Code Page 1025 Server 8-bit Cyrillic

    EBCDIC Code Page 1025 8-bit Cyrillic

    EBCDIC Code Page 1025 (Modified) 8-bit Cyrillic

    EBCDIC Code Page 1158 Server 8-bit Cyrillic

    EBCDIC Code Page 1158 8-bit Cyrillic

    ISO 8859-5 Latin/Cyrillic

    RELCOM Internet Standard 8-bit Latin/Cyrillic

    KOI8 Ukrainian Cyrillic

    Mac Server 8-bit Latin/Cyrillic

    Mac Client 8-bit Latin/Cyrillic

    MS Windows Code Page 1251 8-bit Latin/Cyrillic

    DEC VT100 7-bit German

    Siemens 97801/97808 7-bit German

    Siemens 9750-62 EBCDIC 8-bit German

    EBCDIC Code Page 1141 8-bit Austrian German

    EBCDIC Code Page 273/1 8-bit Austrian German

    Siemens 97801/97808 7-bit Danish

    Siemens 9750-62 EBCDIC 8-bit Danish

    EBCDIC Code Page 1142 8-bit Danish

    EBCDIC Code Page 277/1 8-bit Danish

    DEC VT100 7-bit Spanish

    Siemens 97801/97808 7-bit Spanish

    Siemens 9750-62 EBCDIC 8-bit Spanish

    Siemens EBCDIC.EHC.L2 8-bit East European

    EBCDIC Code Page 870 Client 8-bit East European

    EBCDIC Code Page 870 Server 8-bit East European

    EBCDIC Code Page 870 8-bit East European

    ISO 8859-2 East European

    Mac Server 8-bit Central European

    Mac Client 8-bit Central European

    Mac Server 8-bit Croatian

    Mac Client 8-bit Croatian

    MS Windows Code Page 1250 8-bit East European

    IBM-PC Code Page 852 8-bit East European

    EEC Targon 35 ASCI West European/Greek

    EEC EUROPA3 8-bit West European/Greek

    DEC 8-bit Latin/Greek

    IBM EBCDIC Code Page 423 for RDBMS server-side

    EBCDIC Code Page 875 Server 8-bit Greek

    EBCDIC Code Page 875 Server 8-bit Greek

    EBCDIC Code Page 875 8-bit Greek

    Bull EBCDIC GCOS7 8-bit Greek

    ISO 8859-7 Latin/Greek

    Mac Server 8-bit Greek

    Mac Client 8-bit Greek

    MS Windows Code Page 1253 8-bit Latin/Greek

    IBM-PC Code Page 437 8-bit (Greek modification)

    IBM-PC Code Page 737 8-bit Greek/Latin

    IBM-PC Code Page 851 8-bit Greek/Latin

    IBM-PC Code Page 869 8-bit Greek/Latin

    MS Windows Code Page 923 8-bit Estonian

    DEC VT100 7-bit French

    Siemens 97801/97808 7-bit French

    Siemens 9750-62 EBCDIC 8-bit French

    EBCDIC Code Page 1147 8-bit French

    EBCDIC Code Page 297 8-bit French

    Hungarian 8-bit Special AB Mod

    Hungarian 8-bit CWI-2

    DEC VT100 7-bit Italian

    Siemens 97801/97808 7-bit Italian

    EBCDIC Code Page 1144 8-bit Italian

    EBCDIC Code Page 280/1 8-bit Italian

    Multiple-Script Indian Standard 8-bit Latin/Indian

    Mac Server 8-bit Icelandic

    Mac Client 8-bit Icelandic

    IBM-PC Code Page 861 8-bit Icelandic

    Israeli Standard 960 7-bit Latin/Hebrew

    EBCDIC Code Page 1086 8-bit Hebrew

    EBCDIC Code Page 424 Server 8-bit Latin/Hebrew

    EBCDIC Code Page 424 8-bit Latin/Hebrew

    ISO 8859-8 Latin/Hebrew

    Mac Server 8-bit Hebrew

    Mac Client 8-bit Hebrew

    MS Windows Code Page 1255 8-bit Latin/Hebrew

    IBM-PC Code Page 1507/862 8-bit Latin/Hebrew

    IBM EBCDIC 16-bit Japanese

    IBM DBCS Code Page 290 16-bit Japanese

    Same as ja16euc except for the way that the wave dash and the tilde are mapped to and from Unicode

    EUC 24-bit Japanese

    EUC 24-bit Japanese with ‘\’ mapped to the Japanese yen character

    Mac client Shift-JIS 16-bit Japanese

    Same as ja16sjis except for the way that the wave dash and the tilde are mapped to and from Unicode.

    Shift-JIS 16-bit Japanese

    Shift-JIS 16-bit Japanese with ‘\’ mapped to the Japanese yen character

    JVMS 16-bit Japanese

    IBM EBCDIC 16-bit Korean

    KSC5601 16-bit Korean

    KSCCS 16-bit Korean

    MS Windows Code Page 949 Korean

    ISO 6937 8-bit Coded Character Set for Text Communication

    German Government Printer 8-bit All-European Latin

    MS Windows Code Page 921 8-bit Lithuanian

    IBM-PC Code Page 772 8-bit Lithuanian (Latin/Cyrillic)

    IBM-PC Code Page 774 8-bit Lithuanian (Latin)

    IBM-PC Code Page 1117 8-bit Latvian

    Latvian Version IBM-PC Code Page 866 8-bit Latin/Cyrillic

    IBM-PC Alternative Code Page 8-bit Latvian (Latin/Cyrillic)

    Siemens 97801/97808 7-bit Norwegian

    IBM-PC Code Page 865 8-bit Norwegian

    DEC VT100 7-bit Norwegian/Danish

    ISO 8859-10 North European

    ISO 8859-4 North and North-East European

    DEC VT100 7-bit Dutch

    BESTA 8-bit Latin/Cyrillic

    IBM-PC Code Page 855 8-bit Latin/Cyrillic

    IBM-PC Code Page 866 8-bit Latin/Cyrillic

    DEC VT100 7-bit Swedish

    Siemens 97801/97808 7-bit Swedish

    Siemens 9750-62 EBCDIC 8-bit Swedish

    EBCDIC Code Page 1143 8-bit Swedish

    EBCDIC Code Page 278/1 8-bit Swedish

    ISO 8859-3 South European

    ASCII 7-bit Finnish

    DEC VT100 7-bit Finnish

    Mac Server 8-bit Latin/Thai

    Mac Client 8-bit Latin/Thai

    Thai Industrial Standard 620-2533 — ASCII 8-bit

    Thai Industrial Standard 620-2533 — EBCDIC Server 8-bit

    Thai Industrial Standard 620-2533 — EBCDIC 8-bit

    DEC VT100 7-bit Turkish

    DEC 8-bit Turkish

    EBCDIC Code Page 1026 Server 8-bit Turkish

    EBCDIC Code Page 1026 8-bit Turkish

    Mac Server 8-bit Turkish

    Mac Client 8-bit Turkish

    MS Windows Code Page 1254 8-bit Turkish

    IBM-PC Code Page 857 8-bit Turkish

    ASCII 7-bit American

    Siemens 9750-62 EBCDIC 8-bit American

    ICL EBCDIC 8-bit American

    IBM-PC Code Page 437 8-bit American

    MS Windows Code Page 1258 8-bit Vietnamese

    VN3 8-bit Vietnamese

    Siemens EBCDIC.DF.04-F 8-bit West European with Euro symbol

    Siemens EBCDIC.DF.04-9 8-bit WE & Turkish

    Siemens EBCDIC.DF.04-1 8-bit West European

    DEC 8-bit West European

    DG 8-bit West European

    Latin 1/Open Systems 1047

    EBCDIC Code Page 1047 8-bit West European

    EBCDIC Code Page 1140 Client 8-bit West European

    EBCDIC Code Page 1140 8-bit West European

    EBCDIC Code Page 1145 8-bit West European

    EBCDIC Code Page 1146 8-bit West European

    EBCDIC Code Page 1148 Client 8-bit West European

    EBCDIC Code Page 1148 8-bit West European

    EBCDIC Code Page 284 8-bit Latin American/Spanish

    EBCDIC Code Page 285 8-bit West European

    EBCDIC Code Page 37 8-bit Oracle/c

    EBCDIC Code Page 37 8-bit West European

    EBCDIC Code Page 500 8-bit Oracle/c

    EBCDIC Code Page 500 8-bit West European

    EBCDIC Code Page 871 8-bit Icelandic

    Latin 9 EBCDIC 924

    Bull EBCDIC GCOS7 8-bit West European

    HP LaserJet 8-bit West European

    ICL EBCDIC 8-bit West European

    ISO 8859-15 West European

    ISO 8859-1 West European

    ISO 8859-9 West European & Turkish

    ICL special version ISO8859-1

    Mac Server 8-bit Extended Roman8 West European

    Mac Client 8-bit Extended Roman8 West European

    MS Windows Code Page 1252 8-bit West European

    NCR 4970 8-bit West European

    NeXTSTEP PostScript 8-bit West European

    IBM-PC Code Page 850 8-bit West European

    IBM-PC Code Page 858 8-bit West European

    IBM-PC Code Page 860 8-bit West European

    HP Roman8 8-bit West European

    ASCII 7-bit Yugoslavian

    CGB2312-80 16-bit Simplified Chinese

    IBM EBCDIC 16-bit Simplified Chinese

    GBK 16-bit Simplified Chinese

    Mac client CGB2312-80 16-bit Simplified Chinese

    BIG5 16-bit Traditional Chinese

    HP CCDC 16-bit Traditional Chinese

    IBM EBCDIC 16-bit Traditional Chinese

    Taiwan Taxation 16-bit Traditional Chinese

    MS Windows Code Page 950 with Hong Kong Supplementary Character Set HKSCS-2001 (character set conversion to and from Unicode is based on Unicode 3.1)

    MS Windows Code Page 950 with Hong Kong Supplementary Character Set HKSCS-2001 (character set conversion to and from Unicode is based on Unicode 3.0)

    MS Windows Code Page 950 Traditional Chinese

    Читайте также:  Драйвер для ноутбука lenovo g570 для windows 10
    Оцените статью
    Identifier to use in parameter files and commands Character Set