PDA

Zobacz pełną wersję : jom1.0.8pl - polskie znaki na utf8 i latin1 (czemu jest ok?)



piotr.uk
16-03-2006, 23:35
witam
instaluje paczke 1.0.8pl pobrana z joomla.pl. porownywanie napisow w bazie ustawiam na latin2_general. i co widze po instalacji?? krzaki zamiast polskich znakow (np ? zamiast ć).

nowa instalacja, tym razem z porownywaniem ustawionym na utf8_polish. polskie znaki jak ta lala. wszedzie. front i back-end.

robie to samo, tym razem z latin1_general - i tu znowyu zaskoczenie bo znowu nie ma problemow z polskimi znakami.

co jest? czemu na latin2_general sie krzaczy choc nie powinno?
za to na utf8_polish i na latin1_general dziala bez problemu - choc teoretycznie nie powinno?!

jakie kodowanie wybrac, biorac pod uwage ze bede instalowal komponenty dla admina (backend) ktore beda angielskojezyczne (kodowanie inne niz latin2).

jestem zdezorientowany.
jakies pomysly?

stone
16-03-2006, 23:48
Generalnie lepsze jest latin 2, z utf-em mozesz miec problemy gdyz polskie dodatki wychodza w iso i beda sie krzaczyc. Musialbys za kazdym razem konwertowac

Co do wgrania do bazy danych to nie wiem czu tak sie dzieje, aczkolwiek mozesz sprubowac instalowac na latin2_general po dodaniu do pliku sql DEFAULT CHARSET=latin2 do każdej tabeli. I daj znać czy pomogło bo sam jestem ciekaw:)

zwiastun
17-03-2006, 00:01
Ja z kolei nie rozumiem wybierania kodowania w bazie danych
Joomla 1.08 PL jest tak skonfigurowana, że koduje w bazie tak, jak trzeba. Niczego w MySQL-u mieszać nie trzeba

piotr.uk
17-03-2006, 00:12
no niby nie trzeba, ale
1 - tworze pusta baze (cpanel lub phpmyadmin), nadaje usera i prawa
2 - utworzona baza ma domyslne ustawione porownywanie napisow na latin1_swedish (czemu to zagadka, przeciez serwer stoi w angli :-)
3 - no to zmieniam porownywanie (ciagle pustej bazy) na latin2_general
4 - instaluje paczke
5 - no i sa krzaki, zreszta podczas pisania tekstow na backend po zapisaniu i otworzeniu (np artykulu) ponownie, pojawiaja sie krzaki zamiast polskich znakow

jesli robie to samo zostawiajac domyslnie ustawione kodowanie pustej bazy na latin1_swedish, lub zmienie je na latin1_general lub tez utf8_polish - po instalacji wszystko jest ok
===================================
sprostowanie:

ok,ok,ok,
namieszalem (i to przede wszystkim sam sobie).
system kodowania dla calej bazy mySQL jest ustawiony na sztywno i to jest UTF-8 :(
dopiero teraz zobaczylem ze to co zmieniam to nie kodowanie tylko "system porownan dla polaczenia mySQL" (czyli metoda porownywania napisow o ile rozumiem).....

wszystko jasne
baza jest w utf-8 i to na sztywno. a polskie znaki sa tylko przy porownywaniu napisow ustawionych na latin 1 lub utf8.
pozostalo prosic provaidera o zmiane ustawienia dla mysql lub zmienic serwer.... czego zreszta bym nie chcial robic

frico
17-03-2006, 17:54
namieszalem (i to przede wszystkim sam sobie).
system kodowania dla calej bazy mySQL jest ustawiony na sztywno i to jest UTF-8 :(
...//...
wszystko jasne
baza jest w utf-8 i to na sztywno. a polskie znaki sa tylko przy porownywaniu napisow ustawionych na latin 1 lub utf8.
pozostalo prosic provaidera o zmiane ustawienia dla mysql lub zmienic serwer.... czego zreszta bym nie chcial robic
No namieszałeś sobie ... i innym.
Pytanie jest co ma piernik do wiatraka ?

Zostaw bazę w spokoju, niech sobie będzie UTF-8. O metodzie porównywania znaków już nie wspomnę. Jeśli nie dokońca wiesz do czego służy, to lepiej nie psuć ;)

Jednak wszystko to nic nie przeszkadza, aby twoja strona na frontendzie była pod kodowaniem ISO. W końcu jest coś takiego jak sterownik bazy danych za pomocą którego się przecież łączysz.

Jeśli wpisujesz w iso i odbierasz (oglądasz) w iso, to kodowanie w UTF nie ma dla ciebie znaczenia. Inaczej, gdy zapisujesz do bazy w jednym standardzie, a przetwarzasz w drugim - wtedy potrzebna już konwersja.

Specjalnie dla Ciebie zrobiłem szybciutką instalkę, żeby nie było ;)
Sytuacja analogiczna. Strona w ISO, baza w UTF - jak zresztą jest na wszystkich zagranicznych serwerach. Gwarantuję działa bez problemu i pięknie.

Zobacz sam: http://testonly.frico.webd.pl/index.php?option=com_frontpage&Itemid=1

Pozdrawiam
frico

PS. Zapomniałem najważniejszego :)
Ewentualnych przyczyn kłopotów szukaj w... templetce.

piotr.uk
18-03-2006, 04:00
wiem wiem. w utf dziala front/back bez problemow. sterownik zalatwia sprawe.
zglupialem w momencie gdy myslalem ze sie krzaczy w latin2.

gdy zobaczylem ze baza jest ustawiona na sztywno w utf a latin2 to obsluga porownan (a nie kodowanie calosci) moj problem automatycznie przestal istniec

jednak dzieki za post i testowa instalke.
wszystko chodzi bo musi,
tylko na przyszlosc widze "przejsciowe" problemy ze zmiana utf do latin przy ewentualnej zmianie provaidera/servera

ale, swiat bez problemow bylby nudny hehe

pozdrawiam

frico
18-03-2006, 09:45
tylko na przyszlosc widze "przejsciowe" problemy ze zmiana utf do latin przy ewentualnej zmianie provaidera/servera

Żadnych problemów nie będzie. Zrzut bazy wrzucasz do konwertera i masz go w latin1. Raptem jedna czynność więcej, ... czyli jakieś 2 minuty "problemów" ;)


Pozdrawiam
frico

piotr.uk
18-03-2006, 15:56
z konwersja nie mam doswiadczenia. w zasadzie nigdy tyn problem mnie nie dotknal ;)

obawialem sie recznej edycji zrzutu. ale jesli jest tak jak mowisz to gicio.

w tej chwili wszystko chodzi.

pozdrawiam

ASSmodeus
06-06-2006, 15:13
Witam,

Wiem, ze wyjde na ignoranta, ale juz nie moge sobie poradzic, a dyskusja w tym watku nie wiele mi pomogla.
Nie mniej jednak mam bardzo zblizony problem, co zalozyciel watku, wiec pozwolilem sie do niego podpiac.

Mam zainstalowanego Apacha + PHP + MySQL na 3 serwerach.
Dwa moje, jeden nie. (chodzi o mozliwosc dostepu - do tego jednego mam tylko przez WWW).

2 z nich stoja na linuxach, jeden na windowsie.

Wzialem sobie paczke z Joomla1.0.8pl i wrzucilem na wszystkie.
I o dziwo... w Windowsie polskie znaki jak marzenie, a na obu Linuxach rowniez znaki, ale tylko zapytania :-(

Wszedzie te same dane, wszedzie taka sama konfiguracja.
No z malym wyjatkiem:
W konfiguracji witryny na Linuxach kod kraju jest "pl_PL" a na Windzie "Polish_Poland.1250".

Kodowanie w serwerze MySQL, poszczegolnych baz, poszczegolnych tabel i poszczegolnych pol jest wszedzie dokladnie identyczne.

Co wiecej uzyte szablony sa identyczne.
Zeby nie bylo, ze przeoczylem brak jakiegos znacznika meta.

Juz z phpMyAdmina druknalem sobie (na wszelki wypadek) konfiguracje zmiennych serwerow bazodanowych (na przekor opiniom, ze to nie ma znaczenia).
I jesli chodzi o zmienne dotyczace kodowania znakow, wszystko jest identycznie.

Ale to nie wszystko....
Wlazlem na phpMyAdmina na jednym z serwerow linuxowych i wprowadzilem tekst z polskimi znakami bezposrednio w odpowiednim rekordzie w odpowiednie pole.
I phpMyAdmin pokazuje mi ok a na stronie nadal krzaki.

Juz mi sie powoli pomysly koncza....

Rybik
06-06-2006, 15:56
a nie masz w templaku nadmiarowego > nawiasu w metatagu odpowiedzialnym za kodowanie ?

ASSmodeus
06-06-2006, 16:04
a nie masz w templaku nadmiarowego > nawiasu w metatagu odpowiedzialnym za kodowanie ?

A miałem miałem :D
Ale usunąłem...

Oczywiście tak czy siak nie powinno mieć to znaczenia ze względu na to, ze ten znacznik jest wskazaniem dla przegladarki, a przegladarki uzywam tej samej.
No i jak juz wczesniej napisalem, templatka domyslna rowniez jest ta sama.

Wlasnie walcze z wersja polska UTF-8 i tam tez jest pare ciekawostek, ale czesciowo udalo mi sie uzyskac polskie znaki na linuxie....
Jesli uda mi sie to calkowicie, to dam znac :D

Nie mniej jednak, jakby ktos mial pomysl na rozwiazanie mojego problemu, to nadal z niecierpliwoscia na takowy czekam.

Pozdrawiam

ASSmodeus
07-06-2006, 13:08
W wersji ISO problem jest gdzies podczas komunikacja z baza.
A wysuwam taki wniosek z tad, ze krzaki pojawiaja sie tylko podczas wyswietlania informacji pobieranych z bazy.
Podczas wyswietlania komunikatow zdefiniowanych w pliku language/polish.php, wszystko jest ok.

W wersji UTF-8 jest inna bajka...
Dziwna z reszta...
W znaczniku meta jest wprawdzie ustawiona wartosc utf-8 i informacje w bazie faktycznie sa w tym kodowanie, ale....
Przegladarki mimo tego znacznika meta nie rozpoznaja automatycznie, ze jest to kodowanie utf, tylko iso-8859-2.
Jak mu recznie wymusic utf-8 jest ok.

Firefox w oknie z wlasciwosciami strony podaje, ze kodowanie strony jest ISO-8859-2 mimo, ze znacznik meta jest utf-8.

Dziwactwo.

w00jt
08-06-2006, 15:55
Witam.
Nie chce sie wychylac z moimi radami, sa tu duzo tezsze glowy. Ale moze to komus pomoze, jezeli jest to nic warte to pls do moda o usuniecie tego postu.
Wczraj zainstalowalem joomla_108_PL_stable-utf8.zip na debianie (sarge), i oczywiscie nie mialem z pl fontami.
Baza mysql jest na uft-8, gdy ustawie przegladarke manualnie na utf-8 jest wszystko ok, ale wystarczy odswierzyc i qpa.
Udalo mi sie to tak:
login jako admin, potem Witryna -> Szata graficzna -> Szaty witryna. (menu gorne).
Zaznacz szate (template) i Edytu HTML.
Wpis:
<?php $iso = split( '=', _ISO );
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>


zmien na to lub wstaw przed tagiem <html>

<?php;
echo '<?xml version="1.0" encoding="UTF-8"?>';
header('Content-Type: text/html; charset=utf-8');
?>

U mnie pomoglo, teraz FireFoxie przy podgladzie "Page Info" w encoding mam uft-8 a nie jak poprzednio ISO-8859-1.

Moze nie trafilem z odpowiedzia na twoj problem, moze bylo to juz poruszane.
pzdw.
Wojt.

ASSmodeus
08-06-2006, 17:06
THX
Z wersją utf faktycznie pomogło.
Jeszcze tylko powalcze z ISO ;-)

Pozdrawiam
P.S. Jak widac czasem najprostrze rozwiazania sa najlepsze ;-)

P.P.S. Bardziej uniwersalnym rozwiązaniem jest wpisanie tego headera w plikach index.php w glownym folderze i administrator

bosseq
30-12-2007, 00:01
OOO i to mi również pomogło w wersji 1.0.13 joomli ;) Dzięki panowie - dłuuugo szukałem