|
|
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Zdraste vsem. Vopros: mozhno li nastroit' DB dlya raboti c neskol'kimi yazikami? Esli da, to gde est' opisanie, kak eto delaetsya? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2004, 18:16 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
еще вариант - через custom collation. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 11:04 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Pol'zuyu ASA. Chto takoe UTF8? Nuzhno - English, Russian, Hebrew (mozhet bit' Espanyol v budushem) Imeetsya - English, Hebrew Slishal koe chto o "custom collation", no ne ponyal kak etim pol'zovat'sya. Est' kakaya - nibud' infa po-russki? Zaranee blagodaren ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 13:11 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Т.е. тип бд не указан, то: В инструкции по ASE очень подробно описано как это делать. В пределах группы европейских языков проблем нет. Если языки нужны разных групп (например азиатские и европейские), то только юникод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 13:40 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Ggg_old: chto ti imeesh vvidu pod tipom BD? Imeetsya li help na russkom? esli da, to gde? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 13:51 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
см. выше. АСА, АСЕ или АйКю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 16:34 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
см. выше. ASA 7 !!! Bolee vnyatno: Nuzhno sozdat' takuyu DB v Sybase ASA 7, kotoraya pozvolila bi ODNOVREMENNO rabotat' s 3-mya yazikami: naprimer zapisivat' v odnu tablitzu familiy Ivanov po-russki, familiyu Smith po-angliiski, familiyu Abramovitch na hebrew (razumeetsya v raznih zapisyah). Vopros: 1. Mozhno li sdelat' takuyu DB 2. Esli da, to kak. 3. Sushestvuet li dokumentatziya po etomu voprosu? (standartnii Help ne pomogaet, tam net yasnogo otveta) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 18:51 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Ну если надо в одной таблице держать имена на разных языках, то путь только один - UTF8. Это кодировка в которой одна буква может быть записана одним, двумя, тремя или четырьмя байтами. Создаешь новую базу данных, указываешь ей кодировку UTF8, она так и называется UTF8 и никаких проблем. Сервер будет сортировать фамилии в алфавитном порядке, впрочем, я не могу предсказать в каком порядке пойдут алфавиты :) Отображение этих текстов на экране - вопрос уже чуть более сложный, но все современные языковые среды умеют работать с UTF8 тескстами. Берешь свой любимый инструмент и ищешь в его хелпе все что относится к UTF8 или Unicode. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 19:52 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Sozdal DB c kodirovkoy UTF8. Voprosi: 1. kakim obrazom ya mogu uznat' na kakom yazike zapisano znachenie v pole? 2. Chto est' vmesto function "Ascii"? 3. Mogu li ya ispol'zovat' type varchar (char) ili mne nuzhno chto-libo drugoe? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 17:41 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
1) В общем-то никак. В одном поле могут находится буквы из разных языков. Никто и ничто не запрещается записать в поле текст типа: 'Hello Вася, glad встретить you'. Вот скажи, на каком это языке? :) А вообще, зачем определять язык то? Если для показа на экране - просто назначаешь для визуального поля шрифт созданый с учетом unicode и все. Например стандартные Arial или Times New Roman. Не забывай главный принцип unicode - каждая буква знает из какого алфавита она пришла. Все "кодировки" это урезаный unicode в котором код языка устанавливается глобально для всего приложения а не для отдельной буквы. 2) А зачем она? Ascii() в принципе будет работать и на юникодные символы. Попробуй и увидишь :) 3) Конечно можешь. Char это ни в коем случае не аналог байта. Char это символ. А сколько байт потрачено на его запись это никого не волнует. А если волнует - значит человек не понимает основ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2004, 18:52 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
White OwlА вообще, зачем определять язык то? Если для показа на экране - просто назначаешь для визуального поля шрифт созданый с учетом unicode и все. Например стандартные Arial или Times New Roman. Не забывай главный принцип unicode - каждая буква знает из какого алфавита она пришла. Все "кодировки" это урезаный unicode в котором код языка устанавливается глобально для всего приложения а не для отдельной буквы. Простой пример: Аппликация на дельфи, компонент TEdit не понимает unicode или если понимает, то я не знаю как. Я пытался решить проблему установкой Font.CharSet. Для этого нужно было знать на каком языке записано значение в поле. По условию задачи в одном поле одной строки ТОЛЬКО ОДИН язык. White Owl А зачем она? Ascii() в принципе будет работать и на юникодные символы. Попробуй и увидишь Попробовал и увидел, что возвращается NULL. Пробовал в Interactive SQL. Или что-то в настройке БД неверно? Хотелось бы знать что. White Owlчеловек не понимает основ Если бы я понимал, то и не спрашивал бы :) Я был бы не против, если бы меня отправили читать первоисточники по этому вопросу, но где они? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 11:47 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Michael7 Простой пример: Аппликация на дельфи, компонент TEdit не понимает unicode или если понимает, то я не знаю как. Я пытался решить проблему установкой Font.CharSet. Для этого нужно было знать на каком языке записано значение в поле. По условию задачи в одном поле одной строки ТОЛЬКО ОДИН язык. Язык и charset - это не одно и то же. Если там только один charset, это еще не значит, что там только один язык. Яркий пример - charset UTF8/16. О чем тебе Ascrus и пытается втолковать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 12:03 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
В упор не вижу в дельфи UTF8/16. По поводу CharSet-ов вы, возможно, правы, но тогда объясните мне такую элементарную вещь: есть компонент Edit1, в котором я набрал текст на русском и сохранил его в бд, компонент Edit2, в котором я набрал текст на арабском и компонент Edit3, в котором я набрал текст на грузинском. Теперь я хочу прочитать запись и отобразить ее в Edit4. На каком она язаке я, естественно, заранее не знаю. Если Edit4.Font.Charset = RUSSIAN_CHARSET, то любое слово будет отображаться русскими буковками, и не важно какой фонт установлен Arial, Times New Roman или Georgiya. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 12:20 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Я дельфу уже забыл почти и не знаю честно говоря, поддерживает ли она Unicode. Может и нет. С другой стороны, последняя (для .Net) видимо должна - в .Net вроде бы все на Unicode. Но видимо если тебе нужно в одном Edit -е иметь и грузинский текст, и арабский, и еще какой-то , то тебе нужно именно на Unicode ориентироваться. При этом база данных здесь вообще ни при чем - она только хранит и все. А вот приложение видимо Unicode-ное должно быть. И шрифты должно Unicode-ные использовать (а их кстати не так и много). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 11:18 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
MasterZivЯ дельфу уже забыл почти и не знаю честно говоря, поддерживает ли она Unicode. Может и нет. Родные контролы Unicode действительно не поддерживают, но я слышал о существовании сторонних. Сам в эту сторону не копал за полной ненадобностью (вроде в ElPack-е есть такие), но рекомендовал бы Michael7 копнуть в эту сторону, т.к. IMHO единственное нормальное решение его проблемы - это переход на Unicode. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 12:29 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Ну вот, я всегда говорил, что дельфи - отстой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 10:03 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Я бы не стал заявлять, что delphi - отстой. Отстойна сама технология под названием юникод. Приведу пример. Есть буква i . Ее upcase соответствует букве I . Но! В турецком языке upcase i есть буква İ . Вопрос - каким образом определить что я ищу без указания языка? и таких примеров много... особенно когда пересекаются языки разных групп, но изображения символов совпадают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 11:20 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Рыжий КотЯ бы не стал заявлять, что delphi - отстой. Отстойна сама технология под названием юникод. Ну это вы уже загнули, месье. Рыжий Кот Есть буква i . Ее upcase соответствует букве I . Но! В турецком языке upcase i есть буква İ . Вопрос - каким образом определить что я ищу без указания языка? Давай чуть упростим твой пример. Вот есть английская буква 'A' и есть русская буква 'А'. Предположим у нас есть список клиентов в котором в перемешку английские и русские фамилии. Есть поле ввода для быстрого поиска клиента. Как объяснить компьютеру что в данный момент мы ищем клиентов с русской А в начале фамилии, а через пять минут ищем с английской? Ну-с? Сколько секунд тебе потребуется на нахождение ответа? :) Правильно - мы переключим раскладку клавиатуры находясь в поле ввода для поиска. То же самое и с турецким, и с ивритом и с чем угодно. Хоть иероглифы! :) Единственный момент что у тебя и поле ввода должно уметь работать с юникодными шрифтами и список клиентов отображать юникодные символы. Элементарно! :) Рыжий Коти таких примеров много... особенно когда пересекаются языки разных групп, но изображения символов совпадают. Никаких проблем :) У нас у всех, перед глазами постоянный пример - латинский и кириллица. Какая разница толи эти два шрифта будут частью одного 255-и элементного шрифта или они они будут частями шрифта с намного большим количеством символов? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 18:20 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
White Owl, рассматривать русский язык - в корне неверно. Поскольку все символы в нем вынесены в отдельный диапазон. Ни С, ни А, ни О, и т.д. не совпадают с латинскими эквивалентами. Турецкий, Азербайджанский, Узбекский языки основаны на латинице. Их i - та же что и в традиционном Английском. Но его заглавный эквивалент не совпадает с Английским. Кстати, работая в MS Word, эти все проблемы видны, необязательно быть специалистом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 20:22 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
White Owl Рыжий КотЯ бы не стал заявлять, что delphi - отстой. Отстойна сама технология под названием юникод. Ну это вы уже загнули, месье. Тогда почему в стандарте юникод существуют пары букв A, C, O - одна латинская, другая кирилица? Почему для кириллицы сделали свой диапазон? Ответ прост - чтобы избежать большого числа граблей. Почему для каждого языка (на алфавита!) не сделали свой диапазон? Тогда бы и сортировки были бы нормальными. Кстати, тогда было бы 3 буквы A: вьетнамский набор - копия английского с перемежением видоизмененных А, О, U (над ними миллион черточек и палочек) и т.д. (кстати, во вьетнамском нет F и еще каких-то английских согласных) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 20:48 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Ой, Кот, ну какая разница в отдельном диапазоне буквы одного алфавита или используют один общий диапазон? Задача у нас как стоит? Поместить в базу данных несколько текстов на разных языках, найти в базе нужный текст и показать его на экране. Так? Ну какая разница один байт используется для записи одного символа или двадцать? Да хоть по триста байт! Символ введеный пользователем с клавиатуры должен совпадать с тем изображением которое появится на экране по select. ВСЕ! UTF8 как раз и удовлетворяет этому требованию. Он не ограничивает список доступных символов 256-ю (255 если отбросить нулевой символ). Мне глубоко по барабану порядок символов в 255-символьном шрифте. У нас (у ASA сервера) имеются встроенные таблицы сортировки и конвертации регистра. Вот пусть машина и думает :) Чем тебя смущает турецкая i ? Тем что она в применяющемся сегодня 255-вариантном шрифте совпадает по коду с английской i? Турки с этой проблемой как обходятся? Если им нужно найти в базе все слова с этой буквой - они получают и английские и турецкие слова верно? А какой человек в здравом уме и твердой памяти будет искать слово только по одной букве? :) И букв A на самом деле вовсе не одна пара в сегодняшнем юникоде. Их там намного больше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 23:07 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
авторПоместить в базу данных несколько текстов на разных языках, найти в базе нужный текст и показать его на экране. Так? авторЧем тебя смущает турецкая i? Тем что она в применяющемся сегодня 255-вариантном шрифте совпадает по коду с английской i? Турки с этой проблемой как обходятся? Если им нужно найти в базе все слова с этой буквой - они получают и английские и турецкие слова верно? А какой человек в здравом уме и твердой памяти будет искать слово только по одной букве? английская i == турецкая i (как по написанию, так и по коду), но их uppercase-ы не соответствуют друг другу, т.е. если будет список слов на турецком и на английском, то осуществить поиск слов на двух языках, записанных в разных/меняющихся регистрах без дополнительного указания языка будет проблематично. Вот пример, который показывает, что ТОЛЬКО юникодом правильный поиск произвести не удастся: даны записи в таблице table1: name -------- exists isim EXISTS İSİM --------- запрос select name from table where name like '%is%' не выведет запись İSİM. Скопируйте текст в текстовый процессор и сделайте поиск фразы is, вы не найдете слово İSİM. Нажмите Shift+F3 - и весь текст будет испорчен: поскольку правило замены будет i->I, хотя для меня важно i->İ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2004, 09:58 |
|
||
|
Multi Languages
|
|||
|---|---|---|---|
|
#18+
Э, горячие финские парни, завязывайте здесь с обсуждением UNICODE как такового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2004, 10:22 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32743319&tid=2014050]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 275ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...