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

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×