PDA

Zobacz pełną wersję : Błąd w polskich literach



EwaKulak
28-07-2006, 20:45
Uzywam Joomla w wersji 1.0.8 sciagnietej bezposrednio ze strony www.joomla.org (javascript:ol('http://www.joomla.org');). Posiadam dwie odrebne strony internetowe – po hiszpansku: www.ewakulak.com (javascript:ol('http://www.ewakulak.com');) i po polsku: www.kolumbijsko.com (javascript:ol('http://www.kolumbijsko.com');); obydwie znajduja sien a odrebnych serwerach i posiadaja odrebne bazy danych.

W tej chwili spotkalam sie z powaznym problemem. Instalujac jezyk polski na stronie www.kolumbijsko.com (javascript:ol('http://www.kolumbijsko.com');) (Joomla_1.0.1_Polish_ISO-2 lub Joomla_1.0.1_Polish_UTF-8) pojaiwaja sie dziwne i niezrozumiale litery (znaki).

Uzywam Cpanel, phpMyAdmin w wersji 2.8.0.2
Gdzie znajduje sie blad? W konfiguracji phpMyAdmin? Uzywany w phpMyAdmin alfabet to latin1_swedish_ci

Probowalam juz zmienic go na "latin2_general_ci" i na "utf8_bin", ale ciagle bez rezultatow.

Bede bardzo wdzieczna za pomoc.

magic
29-07-2006, 19:10
Nie bardzo rozumiem ...
Wcześniej miaś po polsku stronę www.kolumbijsko.com (http://www.kolumbijsko.com) (opartą na Joomla!) i wszystko było OK, a teraz doinstalowałaś (??) język polski dla Joomla! i przestało działać ???

Wyjaśnij dokładniej co było przedtem i jak zrobione i co dokładnie później zrobiłaś (jakie pliki zmieniłaś, skąd pobrane itp.).

P.S. Zacznijmy od tego, że w pliku index.php templatki (szablonu graficznego) masz w czwartej linijce od góry wpisane:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Najprawdopodobniej "ręcznie" wpisane, czyli po otwarciu tego pliku np. pod Notatnikiem zobaczysz ten sam napis co wyżej ...
Skasuj ten napis - całą linijkę. Jest 70% szansy na to, że od razu będzie OK, bo jak na moje oko, to ktoś, kto Ci robił szablon popełnił błąd w tym miejscu ...
Nie zapomnij zrobić sobie wcześniej kopii zapasowej tego pliku ;)

Rybik
29-07-2006, 19:27
telepatycznie ...
przewiduje ze tamta baza danych miala domyslnie ustawiony sposob kodowania znakow na latin1_swedish_ci (ktory jest domyslnym stylem w kilku instalkach bazy sql) i nie powodowalo to klopotow bo:
kodowanie ustawione na ISO-8859-1 + polskie znaki w bazie na latin1 = ok
doinstalowanie polskiego langa frontu spowodowalo zmiane kodowania strony na ISO-8859-2 wiec znaki w latin1 wygladaja krzaczascie

opcja 1:
przekonwertowac baze na iso-8859-2 i przelaczyc na latin2_general_ci w tabelach, to jest opcja poprawna ale uciazliwa
opcja 2:
wpisac w polskim langu kodowanie iso-8859-1 i przekonwertowac go na ta strone kodowa

opcja 3 (maxi)
upgradowac do 1.0.10 pl+adm pl rev2 , przestawic i przekonwertowac baze jak w opcji 1 :)

EwaKulak
30-07-2006, 22:42
Bardzo serdecznie dziekuje za pomoc.

Rzeczywiscie po zmianie kodowania ustawionego na ISO-8859-1 na ISO-8859-2 pojawily sie poprawne polskie litery w tekscie strony www.kolumbijsko.com (http://www.kolumbijsko.com).

Serdecznie dziekuje za pomoc, EWA.

magic
31-07-2006, 01:17
Nie ma za co.
W dalszym ciągu masz błąd w templatce. Powtórzona deklaracja kodowania. Prawdopodobnie jedna deklaracja jest "na sztywno" wpisana (ta pierwsza od góry?), a druga jest generowana przez skrypt PHP na podstawie aktualnie używanego pliku języka Joomla!. Ta druga jest (?) prawidłowa bowiem uniezależnia kodowanie od szablonu graficznego, a uzależnia od AKTUALNIE używanego pliku języka. To o tyle istotne, że jak zauważyłem próbujesz (choć nieskutecznie ...) publikowac swoją stronę w dwu językach.
Tak, czy inaczej - dwie deklaracje kodowania na stronie (nawet jeśli w danym wypadku jednakowe) to błąd ...

Amaria
31-07-2006, 17:36
Mój problem jest podobny.Dotychczas wszystko działało poprawnie. Kiedy jednak zaczęłam wprowadzać dane przez bazę danych (MySQL 5.0) w panelu administratora i w przeglądarce brakuje polskich znaków dla wpisów dokonanych przez panel phpMYadmin.

W bazie danych ustawiłam czcionki na utf8_polish_ci dla jos_weblinks.


Pytałam mojego administratora serwera. Oto co odpowiedział:



System kodowań czcionek w bazach danych działa poprawnie - jeśli występują
problemy to muszą być konsekwencją niespójności wykorzystywanych kodowań na
etapach: przeglądarka -> PHP -> baza banych.


Brak polskich znaków zarówno w IE jak i w Operze.

Sprawdzałam wpis w index.php templatki (made your web). Jest tam taki kod:

<?php $iso = split( '=', _ISO );
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>

Nie wiem gdzie szukać rozwiązania tego problemu. czy po stronie bazy danych czy joomli.

W panelu bazy danych wpisy także wyświetlają się bez polskich znaków .
Wygląda mi to na problem w bazie. Być może coś niepoprawnie konfiguruję.

Proszę o podpowiedź.

Rybik
31-07-2006, 17:42
baza ma miec system porownan dla polaczenia sql: utf-8 a domyslny sposob kodowania dla table ma byc latin2_general_ci, chyba ze uzywasz wersji joomla _wyraznie_ oznaczonej jako utf

ustawienie latin2 nie dziala wstecz - wiec prawdopodobna bedzie koniecznosc wpisania artykulow raz jeszcze o ile nie reinstalacja Joomla - chociaz po zmianie kodowania tabel można poprawiać dane recznie w bazie

Amaria
31-07-2006, 18:45
baza ma miec system porownan dla polaczenia sql: utf-8 a domyslny sposob kodowania dla table ma byc latin2_general_ci, chyba ze uzywasz wersji joomla _wyraznie_ oznaczonej jako utf

ustawienie latin2 nie dziala wstecz - wiec prawdopodobna bedzie koniecznosc wpisania artykulow raz jeszcze o ile nie reinstalacja Joomla - chociaz po zmianie kodowania tabel można poprawiać dane recznie w bazie

Bardzo dziękuję. Wygląda na to, że działa. Nowe wpisy są poprawne. Z polskimi znakami. Stare muszę porawić ręcznie.
Niestety w międzyczasie sporo namieszałam w tych tabelach. Wydaje mi się, że powinnam to uporządkować.

Poniżej kilka tabel - ich opis w mojej bazie:
-

jos_templates_menu 2 MyISAM utf8_polish_ci 2,0 KB -
jos_users 2 MyISAM utf8_polish_ci 4,2 KB -
jos_usertypes 7 MyISAM utf8_polish_ci 2,1 KB -
jos_weblinks 195 MyISAM latin2_general_ci 28,3 KB -
35 tabel(a) Suma 1 056 -- utf8_polish_ci 1,8 MB 132 bajtów


Czy to co boldem powinno być:

utf8_general_ci
utf8_polish_ci

czy

latin2_general_ci


Pierwotnie było utf8_general_ci.
Potem zmieniłam na utf8_polish_ci
Teraz jest różnie (jw)
Która wersja jest poprawna?

Pozdrawiam serdecznie.

Rybik
31-07-2006, 19:40
tak jak pisalem wczesniej:
1. na stronie "tytuowej" bazy - tam gdzie jest jezyk i jakies inne smiotki -> tam utf (chyba dowolny, mi dziala na utf8_unicode_ci) i ta opcja nazywa System porównań dla połączenia MySQL.

2. wybieramy baze i przenosi nas do struktury

a) Metoda porównywania napisów dla kazdej tabeli ma byc latin2_general_ci
b) ta sama metoda porownan ma byc ustawiona jako domyslna (zakladka "operacje", bedzie na dole)

Amaria
31-07-2006, 20:44
Bardzo dziękuję. Zaraz zabieram się do "trawienia". Pozdrawiam