Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Cannot transliterate character between character sets. / 25 сообщений из 48, страница 1 из 2
28.11.2002, 05:37
    #32073207
Cannot transliterate character between character sets.
Камрады!!!
суть проблемы следующая
хочу в таблицу вставить данные
посредством:
insert into "TRAFFICTYPE"
values (6,'Ляля тополя','8464122');


на что Интербейза отвечает мне:
Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
Cannot transliterate character between character sets.


ах да вот ышо структура таблицы какая
SET SQL DIALECT 3;
SET NAMES WIN1251;
CREATE TABLE TRAFFICTYPE (
ID INTEGER NOT NULL,
TRAFFICTYPENAME VARCHAR(50),
"TrafficTypeCode" CHAR(7)
);



Поможите люди добрые справица с этой инсинуацией
Заранее благодарен,
Четыреста третий фарбидден
...
Рейтинг: 0 / 0
28.11.2002, 10:24
    #32073261
denipod
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Создавать так:
CREATE TABLE TRAFFICTYPE (
ID INTEGER NOT NULL,
TRAFFICTYPENAME VARCHAR(50) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
"TrafficTypeCode" CHAR(7)
);

COLLATE PXW_CYRL - не обязательно

Вставить так:
insert into "TRAFFICTYPE"
values (6,_win1251'Ляля тополя','8464122');

Но лучше при подключении указывать где-нибудь
CHARACTER SET WIN1251
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
03.11.2018, 20:59
    #39727684
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Чтоб не плодить аналогичные темы...

Есть БД на ФБ 3.0 с кодировкой UTF8 (сама, и все char/varchar поля во всех таблицах).
Есть приложение написанное на Delphi, при подключении к базе указываю чарсет как UTF8.
Есть клиент, с русской Windows 10, который не может подключиться к базе, ловит ошибку
Invalid connection string
Cannot transliterate character between character sets.


Хотя на других (моих) компьютерах (win 7, server 2008, win xp) программа подключается и работает так как надо.
Куда копать?
...
Рейтинг: 0 / 0
03.11.2018, 21:07
    #39727686
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim WooКуда копать?

Нелатинские буквы в пути к базе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.11.2018, 23:28
    #39727708
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
16 лет!!!
...
Рейтинг: 0 / 0
04.11.2018, 09:04
    #39727739
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Напомните номер тикета, вроде был такой.
...
Рейтинг: 0 / 0
04.11.2018, 10:47
    #39727748
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim Woo Invalid connection string
Cannot transliterate character between character sets.
doc\README.connection_string_charset.txt
...
Рейтинг: 0 / 0
04.11.2018, 18:41
    #39727868
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
hvlad,

Правильно ли я понял суть проблемы: кодировка машины клиента не совпадает с кодировкой сервера, по этому передаваемый connection string конвертится и дает ошибку.

Не могли бы вы по-русски объяснить, как и где мне указать isc_dpb_utf8_filename при коннекте?

P.S.
Проект написан на Delphi, коннект к базе через IBDatabase + IB компоненты.
...
Рейтинг: 0 / 0
04.11.2018, 19:15
    #39727875
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim WooНе могли бы вы по-русски объяснить, как и где мне указать isc_dpb_utf8_filename при коннекте?

Забей, это не работает ни в одной из существующих версий Firebird. Просто не клади базу в
каталоги с нелатинскими именами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2018, 19:41
    #39727882
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Ну так база и так на сервере лежит в каталоге ТОЛЬКО с латинскими буквами, но ошибка все равно возникает.

Приведу кусок кода, может быть вам чем-то поможет...

Есть ini-файл, в котором прописан путь к базе.
[BASE]
path = xxx.xxx.xxx.xxx:\DataBase\MainDB.fdb

Я этот путь достаю и передаю в Params у IBDatabase.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
var DBPath : string;

DBPath := GetDBPath();
with myDatabase do
begin
	Params.Clear;
	DatabaseName := DBPath;
	Params.Add('user_name=' + Login.Text);
	Params.Add('password=' + Password.Text);
	Params.Add('lc_ctype=UTF8');
	LoginPrompt := False;
	Connected := True;
end;


На моменте Connected вылетает Exception с указанной ошибкой...
...
Рейтинг: 0 / 0
04.11.2018, 20:01
    #39727889
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim WooНа моменте Connected вылетает Exception с указанной ошибкой...

Значит ищи какую-то хрень в ON CONNECT/ON START TRANSACTION триггерах.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2018, 20:43
    #39727897
Фэйтл Эра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Может, ты из .ini "криво" читаешь. Посмотри в отладчике, чему DBPath равен.
Код: pascal
1.
	DatabaseName := DBPath;
...
Рейтинг: 0 / 0
04.11.2018, 20:58
    #39727900
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Фэйтл Эра,

Путь читается верно.
Я же говорю, у меня на 3-х разных ОС работает, а у пользователя с Win10 - нет.

Значит ищи какую-то хрень в ON CONNECT/ON START TRANSACTION триггерах.
А как посмотреть их? В IBExpert такое не вижу.
...
Рейтинг: 0 / 0
04.11.2018, 21:19
    #39727910
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
upd

Запустил виртуальную OS с пользователем "Администратор" - программа выдала:
авторInvalid connection string
Cannot transliterate character between character sets.

В ней же создал пользователя "Admin" - программа заработала как надо.

У клиента имя пользователя оказалось тоже на кириллице. Что это? И как это фиксить?
...
Рейтинг: 0 / 0
04.11.2018, 21:28
    #39727914
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim Woo,

значит это подтверждает предположение Димы о том что ты в ON CONNECT какую-то фигню написал. Скорее всего с обращение в MON$. Помниться был раньше такой баг
...
Рейтинг: 0 / 0
04.11.2018, 21:30
    #39727916
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Но в ON CONNECT я ничего не писал, более того, я даже не знаю как и где это посмотреть. =)
База делалась при помощи IBExpert, соответственно и работаю с ней через нее же.
...
Рейтинг: 0 / 0
04.11.2018, 21:58
    #39727929
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
trusted auth?
...
Рейтинг: 0 / 0
04.11.2018, 22:11
    #39727932
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim WooПравильно ли я понял суть проблемы: кодировка машины клиента не совпадает с кодировкой сервера, по этому передаваемый connection string конвертится и дает ошибку.Не совсем правильно.
Там же написано, что isc_dpb_utf8_filename указывает на то что все строки в DPB - в utf8:readmeThese rules are now valid for string DPB items too.

Tim WooНе могли бы вы по-русски объяснить, как и где мне указать isc_dpb_utf8_filename при коннекте?Я понятия не имею, как твои компоненты заполняют DPB перед аттачем.

Tim WooЗапустил виртуальную OS с пользователем "Администратор" - программа выдала:
авторInvalid connection string
Cannot transliterate character between character sets.Так ты trusted auth используешь ?
...
Рейтинг: 0 / 0
04.11.2018, 22:12
    #39727933
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Dimitry SibiryakovЗабей, это не работает ни в одной из существующих версий Firebird.Не устал пальцем в небо тыкать ?
...
Рейтинг: 0 / 0
04.11.2018, 23:06
    #39727957
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
hvladНе устал пальцем в небо тыкать ?

Не хочу тебя расстраивать, но грабли вы зарыли совсем не в небе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.11.2018, 02:36
    #39727976
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim Woo,

еще осталось выяснить, Дельфи юникодная или нет (2009 и выше или нет).
...
Рейтинг: 0 / 0
05.11.2018, 11:39
    #39728019
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
авторТак ты trusted auth используешь ?
Нет.
Я говорю о том, что если имя учетной записи самой ОС содержит не ANSII символы (в моем случае "Администратор"), то при запуске приложения клиента при подключении к базе указав логин/пароль SYSDBA/masterkey возникает ошибка.
А вот если создать в ОС учетку с именем например Admin, и при подключении к базе указав логин/пароль SYSDBA/masterkey все работает замечательно.

авторДельфи юникодная или нет (2009 и выше или нет).
Delphi 10.1 Berlin
...
Рейтинг: 0 / 0
05.11.2018, 11:46
    #39728023
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Tim Woo,

покажи в каком порядке плагины аутентификации перечислены
...
Рейтинг: 0 / 0
05.11.2018, 12:09
    #39728036
Tim Woo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
firebird.conf
авторAuthServer = Legacy_Auth, Srp, Win_Sspi
AuthClient = Legacy_Auth, Srp, Win_Sspi

Вы про это?
...
Рейтинг: 0 / 0
05.11.2018, 12:17
    #39728039
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot transliterate character between character sets.
Можешь попробовать клиента от 2.5 ?
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Cannot transliterate character between character sets. / 25 сообщений из 48, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]