Krzysztof Białkowski

Krzysztof Białkowski Software Developer
(C# .NET)

Temat: Polskie znaki w MySql po SSH

Witam!
Otóż logując sie do mysql z localhosta wszystko śmiga bardzo ładnie.
Niestety gdy zaloguje się po ssh, dostaje krzaczki (problem ten nie
występuje na terminalu)
System Debian lenny

Garsc informacji (baza musi byc w latin2)

Server version: 5.0.51a-24-log (Debian)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin2
Db characterset: latin2
Client characterset: latin2
Conn. characterset: latin2
UNIX socket: /var/run/mysqld/mysqld.sock


locale na localhoscie

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=


locale po SSH

LANG=pl_PL
LC_CTYPE="pl_PL"
LC_NUMERIC="pl_PL"
LC_TIME="pl_PL"
LC_COLLATE="pl_PL"
LC_MONETARY="pl_PL"
LC_MESSAGES="pl_PL"
LC_PAPER="pl_PL"
LC_NAME="pl_PL"
LC_ADDRESS="pl_PL"
LC_TELEPHONE="pl_PL"
LC_MEASUREMENT="pl_PL"
LC_IDENTIFICATION="pl_PL"
LC_ALL=

Temat: Polskie znaki w MySql po SSH

Jest komenda do wymuszania UTF-8 na połaczeniu do bazy, SET NAMES UTF8 (cos jeszcze, nie pamietam teraz), ale pytanie, dlaczego baza ma ustawiony domyślnie latin2 ? Mi to zawsze robiło kupę problemów ;].

Raz np. jakis user wgrał do bazy dane w UTF8, collation ustawione na latin2, podczas eksportu myślał ze dane są w latin 2 i na koncu jeden polski znaczek zakodowany był w 4 bajtach i powstawał krzaczek

konto usunięte

Temat: Polskie znaki w MySql po SSH

Krzysztof Białkowski:
Witam!
Otóż logując sie do mysql z localhosta wszystko śmiga bardzo ładnie.
Niestety gdy zaloguje się po ssh, dostaje krzaczki (problem ten nie
występuje na terminalu)

Prosimy więcej informacji - jakim terminalu, jakim ssh...
Jeśli terminalem nazywasz konsole serwera to powiedz jakim klientem ssh się łączysz, przy jakich ustawieniach charseta w kliencie ssh oraz przy jakim systemie operacyjnym z którego uruchamiasz klienta ssh. Przyda się też informacja o ustawieniach charsetów w my.cnf.
Garsc informacji (baza musi byc w latin2)

Czy na pewno sama baza jest w latin2? Mysql 5 zwykle trzyma w utf i konwertuje w locie z utfa na dowolny charset, zgodnie z ustawieniami programu klienckiego. Sortowanie robi po latin2, ale to tylko sortowanie.

Temat: Polskie znaki w MySql po SSH

Te krzaczki są tylko od momentu zalogowania do mysql, czy już wcześniej, w shellu?
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: Polskie znaki w MySql po SSH

W ustawieniach terminala na którym uruchamiasz ssh ustaw takie kodowanie jakie ma baza (ISO-8859-2).
Krzysztof Białkowski

Krzysztof Białkowski Software Developer
(C# .NET)

Temat: Polskie znaki w MySql po SSH

Witam!
Otóż problem jak słusznie zauważono tkwił w ustawieniach kodowania terminala.
Dzięki za wszystkie wskazówki i pozdrawiam !

Następna dyskusja:

"Kilka" sesji ssh naraz




Wyślij zaproszenie do