Казахский язык Unicode->Ansi | |
---|---|
Vedmak Автор Сообщений: 6057 Откуда: CiTY Дата регистрации: 30.10.2003 |
Есть дельфийское приложение (компилятор достаточно старый и не юникод) выполняющие импорт данных из БД Oracle ( Unicode ) и вставку в БД Pervasive (non-Unicode Win1251). Естественно казахские национальные символы слетают и заменяются на "?", а русские остаются без потерь.
Вопрос, какими средствами выполнить перекодировку? Есть готовые функции или другие подключаемые средства ? P.S. Обратная перекодировка тоже нужна. Исправлено 1 раз(а). Последнее : Vedmak, 15.10.15 17:03 |
Re: Казахский язык Unicode->Ansi | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
1251 - это же русская,а не казахская. Т.е. никак, если сервер не поддерживает других collation.
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Казахский язык Unicode->Ansi | |
---|---|
Vedmak Автор Сообщений: 6057 Откуда: CiTY Дата регистрации: 30.10.2003 |
Не снимая основного вопроса!
Какой "collation" нужен для казахского языка ? |
Re: Казахский язык Unicode->Ansi | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В кодировке 1251 нету казахских символов. В принципе нету. Невозможно конвертировать юникод (где казахские буквы, конечно же, есть) в 1251 или обратно. Для казахского языка (в варианте кириллицы) существует своя кодовая страница (т.е. 8-битная кодировка) - 1048. Она НЕ является штатной для винды, и, как я понимаю, ставится только совместно с пакетом локализации (НЕ бесплатным) KazWin. Чтобы потом работать с этой кодировкой, ещё и собственно среды программирования или соответствующие сервера БД должны поддерживать её. Скажем фокс её не поддерживает напрямую.
collation хоть и связан с языками, но это НЕ кодировка, поэтому прежде чем задумываться о collation (т.е. о последовательности сортировки "кодов" представляющих разные буковки) необходимо обеспечить поддержку соответствующей кодировки. Естественно, всегда можно сделать через Ж. Например использовать исковерканные шрифты, где вместо неиспользуемых символов "русской" кодировки 1251 нарисовать казахские буквы. Конечно же и в юникоде это будут тоже "русские" буквы, отображаемые "как надо" исключительно за счёт исковерканного шрифта. Лично я бы на такое, конечно же, не подписывался ни за какие "бонусы". Если что, неюникодные системы обычно могут получать юникодный "текст" в виде последовательности байт (в одной из юникодных "кодировок" - UTF-8 или UTF-16) - тогда, в принципе, можно и "вручную" раскодировать казахские символы, и заменить их на какую-нить "похожую псевдографику из текущей кодовой страницы) - поскольку штатные функции конвертации кодовых страниц винды совершенно разумно НЕ конвертируют те символы которых нет в целевой кодировке - и заменяют их на какой-то спецсимвол - по умолчанию это и есть символ вопроса). Фокс, к примеру, может получить юникод с сервера как "набор байт", а не как буковки, и потом уж его мусолить не штатным CPCONVERT, а так как посчитает нужным ------------------ WBR, Igor |
Re: Казахский язык Unicode->Ansi | |
---|---|
Vedmak Автор Сообщений: 6057 Откуда: CiTY Дата регистрации: 30.10.2003 |
О VFP речь не идет совсем. В первом посте я указал среду разработки, не-юникод компилятор Delphi.
Заранее прошу извинить, но личная оценка сложности задачи к теме не относится. Прошу совета знающих о том как вопрос решить. Как говорится в известном фильме (вольное цитирование): [Мне не интересно почему - "нет". Я хочу узнать что вы сделали, чтобы было "да"!] Я позволил себе указать ссылку на эту ветку обсуждения в рабочем форуме, дабы разработчики смогли почерпнуть полезное для решения рабочей задачи. |
Re: Казахский язык Unicode->Ansi | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Какой collation затрудняюсь сказать, я бы попробовал какой-нибудь из LATIN_GENERAL.
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Казахский язык Unicode->Ansi | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
VFP просто похож по "возникающим проблемам" на этот самый неюникодный дельфи. Одно из двух 1) Использовать юникод на всех этапах обработки информации (в дельфи это приведёт к тому что надо будет работать не со строками а с массивами байт, а на неюникодном сервере соответственно с бинарными типами a la blob - конечно если они в этом первасиве имеются в принципе). 2) Использовать кодовую страницу 1048 - в неюникодной программе и на неюникодном сервере (опять же если и то и другое ПОЗВОЛЯЕТ использовать эту codepage). При этом эта CP НЕ является штатной для винды (хотя она и стандартизована соответствующими организациями), и её придётся для начала установить из платного пакета KazWin. ------------------ WBR, Igor |
Re: Казахский язык Unicode->Ansi | |
---|---|
Vedmak Автор Сообщений: 6057 Откуда: CiTY Дата регистрации: 30.10.2003 |
Благо! Будем пробовать.
Исправлено 1 раз(а). Последнее : Vedmak, 16.10.15 23:55 |
Re: Казахский язык Unicode->Ansi | |
---|---|
dimuhametov Сообщений: 1562 Откуда: Костанай Дата регистрации: 01.11.2008 |
|
Re: Казахский язык Unicode->Ansi | |
---|---|
Vedmak Автор Сообщений: 6057 Откуда: CiTY Дата регистрации: 30.10.2003 |
Благо! Эту статью уже "нагуглили".
|
Re: Казахский язык Unicode->Ansi | |
---|---|
AndreyGen Сообщений: 2 Дата регистрации: 26.11.2021 |
Здравствуйте.
Подскажите какую кодировку нужно использовать для казахского языка. Мне нужно писать прогу на казахском и не знаю на чём базироваться. В википедии есть: Официальная кодировка KZ-1048 (казахский стандарт) Данная кодировка утверждена стандартом СТ РК 1048—2002 и зарегистрирована в IANA как KZ-1048 На эту кодировку можно ориентироваться ? Это кодировка сделана на базе RU1251 Читал что казахи перешли на латиницу ? Как это выглядит ? Или продолжают работать на кирилице ? Исправлено 1 раз(а). Последнее : AndreyGen, 26.11.21 20:39 |
© 2000-2025 Fox Club  |