...Китайский язык...

Раздел посвящен программированию с использованием Power Basic.
volo
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 142
Зарегистрирован: 10.12.2004 (Пт) 11:18
Откуда: Soviet Union

...Китайский язык...

Сообщение volo » 24.09.2007 (Пн) 10:03

Ранее особо не сталкивался с проблемой китайского языка, но теперь работая с партнером из Китая - она возникла.

Программа должна использовать два типа китайского языка (иероглифы) - "простой" и "традиционный".

Проблема возникла при попытке втащить иероглифы в PB константы.
например - четыре знака иероглифа - в UTF-8 формате имеют где-то от 10 символов:

$LN1 = "漫遊地圖"

$LN1 = "....10 символов...."

При компиляции программы - иероглифы не показываются

По заверению китайцев - сама программа (Диалоги) нормально транслируют иероглифы.

Может кто сталкивался - при использовании китайского языка для
PB строковых констант ?

в принципе есть "на посмотреть" мой модуль заполненый китайцами, но осталась проблема использования строковых констант.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 24.09.2007 (Пн) 10:07

Может вместо констант использовать текстовые переменные? Прошить китайские строки в ресурсы, и при запуске заполнять переменные данными, использовать Unicode API

PBDN
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2006 (Сб) 22:10

Сообщение PBDN » 24.09.2007 (Пн) 11:06

выхода два:
1. Установить на машине китайскую локаль
2. использовать диалоги и контролы как юникодовый класс
(ДДТ ПБ делает их только АНСИ)

здесь есть примерчик полностью юникодовой програмки
(отображает корректно русские символы на машинах с любой локалью,
тоже самое будет работать для любых других языков)
http://www.powerbasic.com/support/pbfor ... t=rukbduni

volo
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 142
Зарегистрирован: 10.12.2004 (Пт) 11:18
Откуда: Soviet Union

китайский язык

Сообщение volo » 24.09.2007 (Пн) 15:38

Судя по тому, что китайцы вогнали в текстовые поля - кажется это формат UTF-8:

http://sp.ltr32.com/test/china.zip

в названии иероглифы (HEX) идут как :
CE,E4,BA,BA,B4,F3,D1,A7,D3,A3,BB,A8,B3,A7,D3,A3,BB,A8...

понять не могу, что за название. Был у меня справочник на 800 страниц по иероглифам, да где-то "ноги у него выросли".

поставил китайскую кодировку - в Word-е иероглифы смотрятся нормально. SetWindowsText естественно у меня лупит "не те символы".

пробовал и просто перегонять через блокнот в UTF-8 и Unicode
результат получался "деформированный"

Весь парадокс, что китайцы говорят, что все контролы у них показывают иероглифы нормально. Т.е. они у себя текстовку в их иероглифах вогнали через свое IDE в программу и DDT показывает иероглифы нормально.

Не хочется делать глубокие переделки и погрязнуть в отладке...

PBDN
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 21.10.2006 (Сб) 22:10

Re: китайский язык

Сообщение PBDN » 24.09.2007 (Пн) 19:22

volo писал(а):Судя по тому, что китайцы вогнали в текстовые поля - кажется это формат UTF-8:

поставил китайскую кодировку - в Word-е иероглифы смотрятся нормально. SetWindowsText естественно у меня лупит "не те символы".


Надо не только кодировку, но еще и региональные установки сменить на китайские, тогда будет как них.

Если ворд слопал нормально, то проблема должны быть только в этом

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 25.09.2007 (Вт) 8:03

volo
извините за оффтопик, но мне почему-то китайская комната припомнилась... :roll:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

volo
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 142
Зарегистрирован: 10.12.2004 (Пт) 11:18
Откуда: Soviet Union

Сообщение volo » 25.09.2007 (Вт) 9:02

В принципе проблема действительно решилась просто.
PB IDE поддерживает иероглифы (при установке локального китайского).
При установке всех настроек системы на китайский, практически любые два символа (вместо русского языка к примеру) дают иероглифы.

Единственно обратил внимание, что при удалении некоторых пробелов - меняется знак иероглифа.

(русский текст - в данном случае читается как набор иероглифов)

Константы для китайского языка будут выглядеть в нормальном виде как:
china:
$LN17 = "кPм╥"
eng:
$LN17 = "About"

Dark Machine
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 26.05.2004 (Ср) 13:12

Сообщение Dark Machine » 25.09.2007 (Вт) 9:04

volo
в принципе есть "на посмотреть" мой модуль заполненый китайцами, но осталась проблема использования строковых констант.


$LN1 = CHR$( china chars here, &HXX, &HYY, ... )

volo
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 142
Зарегистрирован: 10.12.2004 (Пт) 11:18
Откуда: Soviet Union

Сообщение volo » 25.09.2007 (Вт) 9:16

Одна особенность - проблем небыло с символом $nul, и практически все нормально встало без использования chr$(...)

$LN45 = "ДъХэФЪЯ\РРФu∙Аsp_vtbЬ╦уw╤ДТ√▓░ё┘┘■." & $CRLF & _
" Л╬йФ╖УГ▀ж┤├¤Ё╙█Х╕Ф]│Ф, " & $CRLF & _
" Лё┘┘■ФЪ∙╓ДЬєН┼rйgЙП╦]УРПЮЦЖ." & $CRLF & _


Вернуться в Power Basic

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList