Polskie ogonki w Firebid

0

część
mam nastepujacy prblem z firebirdem

Utworzyłem baze danych na firebirdzie 2.0.1:
create database '/opt/firebird/bin/Bazadanych' user 'sysdba' password
'masterkey' default character set win1250;

i w niej tabelkę:

CREATE TABLE Tabelka (
id int NOT NULL,
pole varchar(30) NOT NULL COLLATE pxw_plk,
PRIMARY KEY (id)
);

czyli teoretycznie wszystko jest ok i baza jest poprawnie przygotowana
do przechowywania polskich ogonków.
Jest tylko jedno ale.
Polskie ogonki są poprawnie wyświetlane TYLKO z pozimu sytemu
operacyjnego z którego zostały wprowadzone np.
za pomocą linuxowego isql'a łaczę się z bazą:

Use CONNECT or CREATE DATABASE to specify a database
SQL> set names win1250;
SQL> connect BazaDanych user sysdba password masterkey;
Database: BazaDanych, User: sysdba

po wybraniu
SQL> select * from tabela;

wywali mi poprawnie zapis testowy "zażółć żółtą gęśl", który wczesniej
wprowadziełm z poziomu tego samego isql'a. Problem z tym, że pod
windowsem ani isql(wersja windowsowa), ani EMS SQL Manager'a ani z
poziomu Delphi z ustawionym lc_ctype=win1250 nie jestem w stanie
poprawnie wyświetlić tego samego napisu.
Sytuacja powtarza się tez w drugą stronę: "zażółć żółtą gęśl"
wprowadzone do bazy z poziomu jakiegokolwiek klienta windowsowego,
jest poprawnie odczytywane przez każdego klienta windowsowego, ale
linuxowy isql wysypuje już krzaki;

Jak to obejść. Znalazłm opis, że set names win1250; trzeba wymuszać
przed użyciem connect ..., ale to nic nie dało. Sytuacja jest taka, że
z pozimu windowsa nie jestem w stanie poprawnie odczytać danych
wprowadzonych z poziomu linuxa i na odwrót.

ps wie ktoś może jak wyświetlić z poziomu isql informacje o tym
jakiego kodowania aktualnie używa program kliencki i serwer, coś w
stylu MySql'owego "status"

pozdrawiam

0

Może warto spróbować zmienić kodowanie na utf-8, możliwe że wtedy byś sie pozbył problemu niekompatybilności.

1 użytkowników online, w tym zalogowanych: 0, gości: 1