PDA

Zobacz pełną wersję : Polskie litery --jestem załamany



dreamlogic
27-02-2007, 16:06
Witam.Na początku dodam że to dopiero mój start z JOOMLA więc proszę o wyrozumiałość.Chyba już wszystkiego próbowałem ale nadal klapa :( tzn. nie mam polskich liter w MENU witryny oraz szczątkowo gdzie indziej (" napisz do nas " w nazwie ulicy) .Zmiany w index.php templatki nic nie wnoszą i sądze że problem leży w BAZIE (aktualne ustawienia : System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) , System porównań dla połączenia MySQL:latin2_general_ci )Proszę o podpowiedź ....adres stronki ti : www.caliko.pl histing na nazwa.pl
ps.Stronka na LOCALU z KRASNALEM dziełałą dobrze ...problem po przeniesieniu na serwer
Dziękuję i pozdrawiam
Marcin :)

nexus246
27-02-2007, 16:15
W jaki sposób przenosisz bazę? Lokalnie masz kodowanie latin2?

dreamlogic
27-02-2007, 16:40
Dziękuję za odp. ...... za pomocą PHPMYADMINA przez import

nexus246
27-02-2007, 23:55
Eeee.... przez eksport chyba? Robisz sobie zrzut do sql i kopiujesz całego sqla czy zapisujesz sql w pliku najpierw.

dreamlogic
28-02-2007, 10:54
:) robię zrzut do pliku a potem z pliku wrzucam do bazy.

nexus246
28-02-2007, 11:09
O widzę że już jest dobrze?
Jak zapisujesz do pliku kodowanie moze sie ustawic na windows1250 i wtedy są krzaki.

dreamlogic
28-02-2007, 11:43
a jak to zmienić aby wszystko grało ? Podczas zrzutu do pliku jest możliwość zmiany kodowania ? na jakie muszę ustawć
Pozdrawiam
Marcin

Yanix
28-02-2007, 16:05
Powiem Ci jak ja rozwiązałem problem zrzutu zrobionego przez phpMyAdmina. Za żadne skarby nie mogłem go zaimportować z polskimi znakami na nowy serwer. phpMyAdmin koduje zrzuty w utf-8, więc otwórz ten plik w Wordzie, podczas otwierania zapyta o kodowanie i powinien zaznaczyć właśnie utf-8. Po otwarciu pliku wybierz zapisz jako i w okienku które się pojawi z menu "Narzędzia" wybierz "Opcje sieci Web", przejdź do zakładki "Kodowanie" i wybierz "Europa Środkowa (ISO)". Tak zapisany plik zaimportuj przez phpMyAdmin na nowym serwerze wybierając zestaw znaków dla pliku "binary" i zaznaczając opcję tryb zgodności na mysql40 (tego nie jestem pewien). Baza powinna się zaimportować z polskimi znakami. Mnie w każdym bądź razie ten zabiegł pomógł.

Radekk
01-03-2007, 11:59
Witam, jestem początkującym użytkownikiem edytora joomla. Mam taki problem: nie we wszystkich przeglądarkach strona działa jak należy ( www.radraf.pl ). W Operze czy Mozilli wszystko wydaje się być wporządku, natomiast w IE czy Avant nie edytują się polskie znaki w tekście oraz główna ramka szablonu nie dopasowuje się do wielkości np. zdjeć czy flashów.
Nie tworzyłem nowego tematu bo wydaje się, że problem jest podobny. Aha nie bardzo mam pojęcie o kodowaniu nie wiem nawet gdzie to się ustawia.

Jeśli ktoś mógłby mi coś poradzić to będę wdzięczny.

jamic
09-03-2007, 20:20
ja mam w phpAdmin ustawione: System porównań dla połączenia MySQL na utf8_general_ci
i działa to z joomla 1.0.11.
Pierwszy opis masz tutaj:
http://phpnuke.org.pl/faq-634.html (http://phpnuke.org.pl/faq-634.html)
Podaję Ci też drugi ciekawy opis całego zagadnienia. Okazuje się że sprawa nie jest wcale taka oczywista :)
ps: na końcu jest opisany sposób do zastosowania w joomla:
---

Opis:

Zmiana domyślnego zestawu znaków w MySQL
Jeśli nagle na Twoich stronach, które odczytują dane z MySQL, pojawiły się znaki zapytania (ąęłśźż) to prawdopodobnie strona php (klient) łączy się do bazy z innym zestawem znaków, jaki ma serwer.
Ogólnie:

1) klient (np. strona php) łączy się z bazą, mając swój zestaw znaków
2) baza danych ma również swój zestaw znaków
Aby sprawdzić, jakie są ustawienia tu i tam, wykonaj takie zapytanie sql (np. w treści strony PHP): SHOW VARIABLES LIKE "character_set%";
Aby sprawdzić, w jakim zestawie znaków są tabele w Twojej bazie, zaloguj się do phpMyAdmina,
Jeśli zestawy znaków w połączeniu/kliencie i w bazie różnią się, to możemy gubić polskie znaki wskutek auto-konwersji.

Opis problemu:
Dotychczas większość tabel miała domyślnie założony zestaw znaków "szwedzki" latin1. Jeśli mamy taką sytuację (nasze tabele mają latin1) i chcemy zmienić ten zestaw na latin2 (iso-8859-2), to trzeba:
1) wymusić łączenie się z takim charsetem, jaki ma tablica, dodając po połączeniu polecenie "SET NAMES 'latin1'"
2) spróbować zmienić kodowanie w tablicy, tak aby serwer nie robił "automatycznej konwersji w locie".
Aby zaradzić I:
Zmiana kodowania w tablicy - WAŻNE!
Ponieważ nasze znaki są w tabeli jako strona kodowa latin2, a tabela uważa, że są one w latin1, NIE WOLNO robić zwykłej konwersji charsetu na danym polu (przez ALTER TABLE - zmiana właściwości pola)!
Trzeba z każdym polem typu text lub varchar zrobić tak, jak to niżej napisali:
If you have a column in one character set (like latin1) but the stored values actually use some
other, incompatible character set (like utf8). In this case, you have to do the following for each
such column:
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
a w naszym przypadku, zamiast uft8, będzie "latin2"
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET latin2;
dla pola VARCHAR będzie to:
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 VARCHAR(255) CHARACTER SET latin2;
Taką operację należy wykonać na każdym polu, któremu chcemy zmienić zestaw znaków (zawiera polskie teksty).
Aby zaradzić II :

Jeśli nasz przypadek to:
1) baza ma latin2
2) PHP łączy się jako latin1

to wystarczy po funkcji łączenia się do bazy mysql_connect() lub jej odpowiedniku, wpisać do wykonywania polecenie:
SET NAMES 'latin2'

Gotowe rozwiązania:

Joomla:
edytujesz plik: /includes/database.php i ok. 90 linii odkomentowujesz (usuwasz znak "//") przy linii 102:
//@mysql_query("SET NAMES 'utf8'", $this->_resource);
jeśli zamiast "latin2" miałeś tam inny wpis (np. "utf8") po prostu zmień go na "latin2" (albo taki w którym zapisana jest twoja baza)