Skocz do zawartości
Zaloguj się, aby obserwować  
pieto

[mysql] - Kodowanie i krzaki po raz n'ty - dla mózgowców

Polecane posty

Witam znowu temat krzaków ehh,

otóż mój problem tylko z niektórymi znakami np japońskimi,

oczywiście przy kodowaniu utf8,

Serwer mysql 4.1.13 php 4 coś, suse 10

 

lokalnie nawet kiedy przerzucam baze z serwera nie ma problemow -

tu mam mysql 5 php 5 vista

 

czy może to byc tylko wina wersji mysql ? (ustawienia kodowania mam takie same )

 

Kapią sie głownie Polskie - duże litery i nietypowe np chińskie znaki

np. http://www.zgapa.pl/zgapedia/Japonia.html

 

Domyslam sie ze zmiana bazy na serwerze na mysql 5 rozwiaze problem, jednak boje sie tego ze wzgledu na powiazane inne pakiety (plesk)

 

Czy da sie to jakos obejsc lub naprawic ?

ew jakaś protezka typu przeparsowanie tych znakow przy wyswietlaniu

probowalem juz roznych kombinacji my.ini, set name colocation etc..

 

z góry thx i duzy browar za pomoc

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrick

uff nie dość, że plesk to jeszcze suse.

Da się zrobić tam mysql 5 ale to trochę gimnastyki i być może pomoże.

Różnice pomiędzy mysql 4.1 a 5.x są dość znaczne i problemy z znakami są możliwe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeżeli chodzi o skrypty PHP to przez kilka lat praktyki udało mi się wypracować patent który działa na praktycznie wszystkich serwerach:

 

To dodajesz do skryptów PHP:

 

ini_set('output_handler', ''); // wyłącza wynalazki typu iconv

mb_internal_encoding("UTF-8");

mb_http_output( "UTF-8" );

mysql_query("SET NAMES 'utf8'");

 

Jeżeli jest dostęp do plików konfiguracyjnych wskazane jest:

 

mysql.conf

 

[mysql]

default-character-set=utf8

 

php.ini

default_charset = "utf8"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Witam znowu temat krzaków ehh,

otóż mój problem tylko z niektórymi znakami np japońskimi,

oczywiście przy kodowaniu utf8,

Serwer mysql 4.1.13 php 4 coś, suse 10

 

lokalnie nawet kiedy przerzucam baze z serwera nie ma problemow -

tu mam mysql 5 php 5 vista

 

czy może to byc tylko wina wersji mysql ? (ustawienia kodowania mam takie same )

 

Kapią sie głownie Polskie - duże litery i nietypowe np chińskie znaki

np. http://www.zgapa.pl/zgapedia/Japonia.html

 

Domyslam sie ze zmiana bazy na serwerze na mysql 5 rozwiaze problem, jednak boje sie tego ze wzgledu na powiazane inne pakiety (plesk)

 

Czy da sie to jakos obejsc lub naprawic ?

ew jakaś protezka typu przeparsowanie tych znakow przy wyswietlaniu

probowalem juz roznych kombinacji my.ini, set name colocation etc..

 

z góry thx i duzy browar za pomoc

jesli set names nie pomaga to zgaduje, że tabela nie jest w utf8

 

jaki jest wynik

show create table tabela_z_krzakami; ?

 

 

 

--

Lazy http://lazy.digart.pl/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Tak jak myślałem - nie pomogło,

 

Znalazłem tymczasowe rozwiązanie - http://forum.mamboserver.com/archive/index.php/t-58188.html

jednak trochę tego nie ruzmiem, gostek zminil dlugosc pola ? u mnie pole to text wiec ciezko z tym ..

 

 

Nie ma opcji żeby nie działało. Musisz mieć coś pochrzanione w samej bazie. Można osobno ustawić kodowanie na poziomie bazy, tabeli i poszczególnych pól tabeli. Wszędzie powinno być utf8_unicode_ci. Po zmianie kodowania sensowne jest wyczyszczenie danych z bazy i ponowne ich zaimportowanie z pliku (nie metodą kopiuj-wklej do phpmyadmina)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

teraz nie pamietam, ale raczej wszystko mam utf8, ale raczej nie general_ci tylko samo utf8, set names mam oczywiscie dopisane,

probowalem juz wrzucac ponownie baze - robie to z poziomu samej konsoli mysql, - jesli ta baze ktora zle pokazuje na serwerze wrzucam lokalnie to jest ok - tu przypominam mysql 5, czy w zwiazku z tym nie jest to bug tej wersji serwera mysql ?

tymbardziej ze problem jest tylko zniektorymi znakiami - japonskie chinskie rosyjskie i polskie (ale tylko drukowane)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

o!, mam nowe fakty pliczek cache na serwerze ma inne kodowanie od tego na lokalnym i roznica wygla tak (grzegzolka)

 

// z serwera

C:\Japonia.tmp

Kodowanie: Mieszanka Windows+ISO PL

EOL: LF (Unix)

 

 

// z kompa lokalnego

D:\-------------webmastering\--------projekty------------------\zgapa.pl2\zgapedia\data_cache\j\ja\Japonia.tmp

Kodowanie: Unicode UTF-8

EOL: LF (Unix)

 

czy w związku z tym problem nie jest w bazie a w innych ustawienia kodowania ,

gdzie można zmienić jeszcze kodowanie ? php.ini ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się
Zaloguj się, aby obserwować  

×