Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизDBF файл и Юникоды Найти похожие ветки
← →
Lala (2004-07-19 16:14) [0]Поддерживаются ли Юникоды в DBF файлах 8-й версии Дельфи? Если да, то каким образом. У меня выходят вопросительные знаки. Благодарна за любые рекомендации.
← →
Anatoly Podgoretsky © (2004-07-19 16:24) [1]Когда говоришь про DBF файлы говори что это такое
← →
Lala (2004-07-19 16:28) [2]Базы данных, создаваемые в среде Visual FoxPro for Windows.
← →
Lala (2004-07-21 09:08) [3]DBF файлы - это база данных, созданная в среде Visual FoxPro.
← →
я (2004-07-21 09:16) [4]Неужели никто не сталкивался с такой проблемой((
← →
Anatoly Podgoretsky © (2004-07-21 09:31) [5]В таком случае смотри спецификацию на Visual FoxPro for Windows. Если конечно такая база существует, я знаю только Visual FoxPro 3..8
← →
nikol (2004-07-21 09:33) [6]Удалено модератором
Примечание: Задай сообщение в своей ветке
← →
nikol (2004-07-21 09:34) [7]Удалено модератором
← →
Лала (2004-07-21 09:54) [8]Здравствуйте, Анатолий! Спасибо за внимание.
Работала на Visual FoxPro.
Дело в том, что базы в Visual FoxPro не поддерживают Юникоды.
Переключилась на Delphi. Мне необходимо создать программу, работающую именно с Юникодами.
Если бы знать базами какой среды можно воспользоваться, чтобы программа, написанная на Delphi могла распозновать содержимое базы с использованием при необходимости Юникодов. То есть речь идет о распозновании редко используемых шрифтов, коды которых имеют номер больше 255. Может быть что-нибудь посоветуете.
← →
TuMOXA (2004-07-21 11:24) [9]Я пишу юникодовые приложения так : база - firebird, интерфейс -библиотека Tnt, Отчёты - Afalina XL Report.
← →
sniknik © (2004-07-21 14:14) [10]> Переключилась на Delphi.
дельфи тоже его не поддерживает, в стандарте во всяком случае (но он (дельфи) язык программирования, такой забавный ;о), позволяет написать даже то что сначала не поддерживает ;о)))
воспользуйся если сам не можеш/лень написать
http://tnt.ccci.org/delphi_unicode_controls/
> Если бы знать базами какой среды можно воспользоваться
access, mssql, ...
> Может быть что-нибудь посоветуете.
не пользуйся BDE/ODBC, они в этом случае "слабое звено" тоже не держат юникод. (можно ADO)
← →
Лала (2004-07-21 14:42) [11]Спасибо всем кто откликнулся.
sniknik - Посмотрела по ссылке. Спасибо. Там выложено все для 6-й версии, интересно это для 8-й применимо, вы случайно не знаете.
TuMOXA -
база - firebird, о которой вы упоминаете она поддерживает все специфические буквы? В моем случае речь идет о буквах восточных языков.
← →
sniknik © (2004-07-21 15:02) [12]> интересно это для 8-й применимо, вы случайно не знаете.
в восьмерке юникод должен по умолчанию быть (поддержан компонентами), ведь там идея что все работает унифицировано под платформой NET. так что там тнт лишний (сорри не обратил внимания на упоминание о восьмерке)
← →
Лала (2004-07-21 15:06) [13]Юникод работает по умолчанию при создании Меню, а для баз данных не работает((
← →
sniknik © (2004-07-21 15:14) [14]> а для баз данных не работает((
dbf возможно (даже больше чем ;о), смотря что понимать, если оракловские файлы то не может быть ;о)), а вот access, mssql работает даже в прогах на 7 дельфе и ниже (проверено).
← →
Лала (2004-07-21 15:22) [15]Спасибо большое, завтра попробую. Аccess у меня есть, а с
mssql никогда не работала. Еще раз спасибо.
← →
Adil (2004-07-21 23:21) [16]У меня тоже были такие программы. Лала, наши буквы(Азербайджанские) тоже после сохранение перебразуется на ???.
Лучше используй MS SQL. Если трудно тогда можеш Access через ADO.
Можеш обшатся через э-мейл или IM
E-mail: adil@aliev.info
ICQ: 174321977
Yahoo: alievadil
MSN: adil@aliev.info
← →
Anatoly Podgoretsky © (2004-07-21 23:51) [17]dBase до версии 2000 включительно не имеет поддержки Юникода.
Надо переходить на другой формат InterBase/MSSQL(MSDE)/Access
← →
Лала (2004-07-22 15:55) [18]Cпасибо всем!
← →
y-soft © (2004-07-22 17:23) [19]Юникод разный бывает...
Если речь о UTF-16 (типы Widestring, Widechar. Размер символа 2 или 4 байта), то с ним проблемы следующие:
Проблемы с СУБД.
Из-за того, что в символах набора Latin 1 один байт всегда равен #0, большинство библиотек доступа СУБД по этому #0 строку режет (при этом большинство СУБД строки с многобайтовой кодировкой хранят без проблем). Счастливое исключение - Unified Interbase (http://www.progdigy.com/UIB/). При использовании IB необходимо установить CHARACTER SET NONE и размер поля в 2 раза больше наибольшей длины строки в символах и забыть про привычную сортировку...
В принципе можно обойтись и привычными IBX etc, если перед записью заменять в строках все #0 на любой из диапазона #$8F..#$BF (эти наборы определены в стандарте как пользовательские), а при чтении из базы проводить обратную конвертацию
Проблемы с VCL.
Контролы Delphi UTF-16 в принципе воспроизводить не могут, т.к. используют ANSI варианты функций API, да и вообще не имеют свойств типа Widestring - приходится использовать альтернативы (вроде TNT).
Проблемы с используемыми шрифтами. Чтобы не появлялись вопросы вместо символов, необходимо использовать шрифт, в котором эти символы присутствуют. Наиболее универсальным является Arial Unicode MS (он есть в дистрибутиве MS Office - ARIALUNI.TTF, правда размерчик великоват - 22Мб!). Немного другие наборы символов содержит Core2000, но его создавал явно не художник...
Об юникодовских шрифтах - http://www.alanwood.net/unicode/fonts.html
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.039 c