Grupy dyskusyjne Google nie obsługują już nowych postów ani subskrypcji z Usenetu. Treści historyczne nadal będą dostępne.

Zeos + brak polskich znakow przy UPDATE

0 wyświetleń
Przejdź do pierwszej nieodczytanej wiadomości

Andrzej

nieprzeczytany,
16 lut 2006, 05:36:2516.02.2006
do
Czesc.
Mam baze w MySQL z kodowaniem UTF-8.
Podlaczylem sie komponentem ZConnection z pakietu ZEOS z kodowaniem
ustawionym na codepage=cp1250 (jeśli mam codepage=utf8 - w DBGRIN pojawiaja
mi sie krzaki zamiast polskich liter).

Problem w tym ze jesli zrobie komponentem ZQuery update bazy zapytaniem w
ktorym sa polskie znaki - w bazie pojawiaja sie znaki zapytania. Zmiany
codepage w ZQuery.properties nic nie dają..

Czy ktoś mógłby mi pomóc odnosnie tej sprawy?

Pozdrawiam

Andrzej

max

nieprzeczytany,
16 lut 2006, 07:55:3316.02.2006
do
Andrzej napisał(a):
jak laczysz sie i ustawialsz kodowanie polaczenia jako UTF8 to dostajesz
stringi w kodowaniu UTF8 .
Standardowe komponenty D nie sa w stanie toge wyświetlić
Możesz spróbować TNT komponentów (w google delphi UNICODE TNT)

co do kodowanie windows to nie wiem czemu nie działa
moze spróbował bym jeszcze wykonać SQL-a

SET CLIENT ENCODING ...widows... ; -- ale moze w mysql to nie zadziała


Mariusz

Andrzej

nieprzeczytany,
16 lut 2006, 08:32:5216.02.2006
do
>jak laczysz sie i ustawialsz kodowanie polaczenia jako UTF8 to dostajesz
>stringi w kodowaniu UTF8 .
>Standardowe komponenty D nie sa w stanie toge wyświetlić
>Możesz spróbować TNT komponentów (w google delphi UNICODE TNT)

Momo że na serwerze mam takie ustawienia:
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | utf8
|
| character_set_results | utf8
|
| character_set_server | utf8
|
| character_set_system | utf8
|

dla "mysql Ver 14.12 Distrib 5.0.17, for portbld-freebsd5.4 (i386) using
4.3" to rowniez i komponenty "TntWare Delphi Unicode Controls" wyswietlaja
krzaki. W MySQL testowo, tak jak zaproponowałeś, ustawiam od razu po
polaczeniu 'set charset_set_client = "cp1250"' ale to również nic nie daje..

Szukam dalej :)

Andrzej


Przemek R.

nieprzeczytany,
16 lut 2006, 16:22:1416.02.2006
do
Andrzej napisał(a):
ustaw win1250

Andrzej

nieprzeczytany,
17 lut 2006, 02:17:1617.02.2006
do
> ustaw win1250
win1250 - krzyczy ze nie ma kodowania.
Ale pewnie to to samo co cp1250.
Z tym kodowaniem wszystko sie wyswietla elegancko ale jesli chce zrobic
update bazy polem z edit1.text - zamiast polskich znakow pojawiaja mi sie w
bazie znaki zapytania.. I w tym w sumie jest najwiekszy problem - jak zmusic
edit1.text do wysyłania poprawnie zakodowanego dekstu do bazy.

Andrzej


Andrzej

nieprzeczytany,
17 lut 2006, 04:42:0717.02.2006
do
Do tego wszystkiego zauwazylem ze jakie bym kodowanie nie ustawil zawsze w
bazie pojawiaja sie znaki zapytania zamiast wprowadzancych polskich znakow..
Probowalem konwertowac zawartosc edita funkcja AnsiToUTF8 przy wlaczonym i
wylaczonym OEMConvert (komponent TTntEdit). O tyle o ile wyswietla sie
wszystko OK, update ZAWSZE powoduje wpisanie znaku '?'..

Andrzej


max

nieprzeczytany,
17 lut 2006, 04:42:5017.02.2006
do
> dla "mysql Ver 14.12 Distrib 5.0.17, for portbld-freebsd5.4 (i386) using
> 4.3" to rowniez i komponenty "TntWare Delphi Unicode Controls" wyswietlaja
> krzaki. W MySQL testowo, tak jak zaproponowałeś, ustawiam od razu po
> polaczeniu 'set charset_set_client = "cp1250"' ale to również nic nie daje..
>
> Szukam dalej :)
>
> Andrzej
A jak dodasz do dataseta kolumny to masz
TStringField
TWideStringField
TTNTStringField ?
Bo to w sumie tez jest wazne :)


Jak masz TStringField to powinienesz kozystac z kodowania windows
(ale mowisz ze nie działa )
Jak masz TTNTStringField to mozesz zastosować UNICODE.

Aby uprzedzic pytanie jak zmienić typ danych jakiego jest kolumna robisz
tak:
W XFM (DFM) zmieniasz TStringField na TTNTStringField
(podczas kompilacji dostaniesz komunikat o nie prawidłowym typie klasy i
propozycje zmiany typu to akceptujesz)

TTNTStringField posiada wlaciwosc encoding to tez ewentualnie to zmień i
zobacz jak bedzie :)


Mariusz

p.s. daj znac na grupe jakie wyniki

Andrzej

nieprzeczytany,
17 lut 2006, 05:24:1217.02.2006
do
Odpowiadam sam sobie :) Bo znalazlem rozwiazanie

trzeba wywołać
'set character_set_connection=cp1250'

od razu po połączeniu i wszystko śmiga :)

rozjeżdżało mi się to z opcją ustawioną w bazie.

Andrzej

Andrzej

nieprzeczytany,
17 lut 2006, 05:28:2017.02.2006
do
> p.s. daj znac na grupe jakie wyniki

Dzieki za wskazowki ktore mi sie przydadza w przyszlosci.

Odnosnie mojego problemu - mała pierdoła. Okazalo sie ze same kontrolki
dobrze wszystko obslugiwaly, rypalo sie dopiero przy przesylaniu i
ustawienie zmiennej w samym MySQL rozwiazalo sprawe.

Andrzej


Nowe wiadomości: 0