![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кодировки [D6, IB6.x]
Виталя © (2003-11-03 14:49:00)
На русских символах не работает ф-ция Upper - я так понимаю, это значит, что кодировка не подходит. А при какой кодировке она работать будет ? И существуют ли стандартные ф-ции для перекодировки ? (Так чтобы в запросе их можно было использовать)
Zacho (2003-11-03 15:59:00) [1]
Не удержусь, и в чередной раз дам ссылку на статью, в которой подробно объяснено все: http://www.ibase.ru/devinfo/ibrusfaq.htm
Romkin (2003-11-03 15:57:00) [2]
Что мешает пересоздать? Это просто и правильно
Scrooge (2003-11-03 15:55:00) [3]
2 Виталя.
Ты можешь написать свою UDF и использовать вместо Upperа.
function malloc(Size: Integer): Pointer; cdecl; external "msvcrt.dll";
function strlen(const _string: PChar): Integer;cdecl;external "msvcrt.dll";
function UpperCase(szStr: PChar): PChar;cdecl;
var
l: Integer;
begin
l := strlen(szStr);
Result := malloc(l + 1);
strcpy(Result,szStr);
CharUpperBuff(Result,l);
end;
Но это как бы не круто...
stud (2003-11-03 15:50:00) [4]
вообще я у себя тоже менял коллате все нормально работало. возможно переподключись
Виталя (2003-11-03 15:43:00) [5]
но ведь это тоже пересоздание !
неужели нет другого варианта ..?
Romkin (2003-11-03 15:37:00) [6]
1. Ну не нужно collate указывать, в upper его просто указываешь, и все.
2. Берем IBExpert с www.ibexpert.com, триал - он нормальный для русских. Там экспортируем всю базу в скрипт, с CREATE. Потом добавляем к энтому CREATE DATABASE слова DEFAULT CHARACTER SET WIN1251, перед этим ставим SET NAMES WIN1251, в общем, чтобы было вроде
SET NAMES WIN1251;
CREATE DATABASE "localhost:D:\chaos\MyDB.gdb"
USER "SYSDBA" PASSWORD "masterkey"
PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251;
и запускаем скрипт, только имя файла указать, которого нет. Все создано.
Виталя (2003-11-03 15:33:00) [7]
> Виталя © (03.11.03 15:03) [5]
> > stud ©
> Charset = NONE
> Font Characters Set = ANSI_CHARSET
stud (2003-11-03 15:29:00) [8]
ты когда подключалась к базе, какие параметры указывала?
Виталя (2003-11-03 15:27:00) [9]
оно собственно не переприсвоилось - там ошибка transliterate
Виталя (2003-11-03 15:25:00) [10]
Scrooge
ничего себе предложение ! это самый-самый запасной вариант
stud ©
да я переприсвоила, но это ничего не дало
stud (2003-11-03 15:23:00) [11]
теперь чтобы все начало работать надо присвоить кадому столбцу его же значение!!
т.е. update table set stolbec1=stolbec1 и так для всех у кого поменяла раскладку
Scrooge (2003-11-03 15:22:00) [12]
2 Виталя
А базу пересоздать никак?
Виталя (2003-11-03 15:19:00) [13]
Я поставила свойства столбца
CHARACTER SET WIN1251
COLLATE PXW_CYRL
но это не помогло
NAlexey (2003-11-03 15:13:00) [14]
>каким боком тут БДЕ???????
Ито верно...
Виталя (2003-11-03 15:11:00) [15]
> stud © (03.11.03 15:04) [6]
А на что поменять у меня у столбцов
CHARACTER SET NONE COLLATE NONE
а как надо ?
Scrooge (2003-11-03 15:11:00) [16]
Ну, при создании базы
default character set win1251 - это однозначно.
А вообще-то, полезно сразу таблицы с collationом создавать.
Ну, типа
create table MyTable
(
MyField varchar(64) collate pxw_cyrl
...
)
stud (2003-11-03 15:08:00) [17]
каким боком тут БДЕ???????
с таким же успехом можно на соседнем компе Win95 установить. результат будет тот же)))
NAlexey (2003-11-03 15:06:00) [18]
LANGDRIVER = Pdox ANSI Cyrillic
Кто больше?
stud (2003-11-03 15:04:00) [19]
возьми например тот же IBExpet и измени у нужных столбцов кодировку и коллате. только после этой операции надо переприсвоить значения типа update set pol1=pol1
Виталя (2003-11-03 15:03:00) [20]
> NAlexey © я не через BDE работаю
> stud ©
Charset = NONE
Font Characters Set = ANSI_CHARSET