powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Cannot transliterate character between character sets.
25 сообщений из 48, страница 1 из 2
Cannot transliterate character between character sets.
    #32073207
Камрады!!!
суть проблемы следующая
хочу в таблицу вставить данные
посредством:
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
Cannot transliterate character between character sets.
    #32073261
denipod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создавать так:
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
Период между сообщениями больше года.
Cannot transliterate character between character sets.
    #39727684
Tim Woo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтоб не плодить аналогичные темы...

Есть БД на ФБ 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
Cannot transliterate character between character sets.
    #39727686
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tim WooКуда копать?

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

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

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

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

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

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

Есть 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
Cannot transliterate character between character sets.
    #39727889
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tim WooНа моменте Connected вылетает Exception с указанной ошибкой...

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

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

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

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

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

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

значит это подтверждает предположение Димы о том что ты в ON CONNECT какую-то фигню написал. Скорее всего с обращение в MON$. Помниться был раньше такой баг
...
Рейтинг: 0 / 0
Cannot transliterate character between character sets.
    #39727916
Tim Woo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но в ON CONNECT я ничего не писал, более того, я даже не знаю как и где это посмотреть. =)
База делалась при помощи IBExpert, соответственно и работаю с ней через нее же.
...
Рейтинг: 0 / 0
Cannot transliterate character between character sets.
    #39727929
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trusted auth?
...
Рейтинг: 0 / 0
Cannot transliterate character between character sets.
    #39727932
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Cannot transliterate character between character sets.
    #39727933
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЗабей, это не работает ни в одной из существующих версий Firebird.Не устал пальцем в небо тыкать ?
...
Рейтинг: 0 / 0
Cannot transliterate character between character sets.
    #39727957
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНе устал пальцем в небо тыкать ?

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

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

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

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

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


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