PDA

Zobacz pełną wersję : Jak usunąć krzaczki?



lucyver
10-02-2008, 19:54
Proszę o pomoc w usunięciu problemu z wyświetlaniem polskich liter (krzaczki).
Wiem, że wiele razy problem był poruszany, bo przez kilka godzin studiowałem podręcznik i przeszukiwałem forum. Wypróbowałem chyba wszystkie porady znalezione na forum i w podręczniku strony Joomla! Bez efektu.
Zainstalowałem joomla_1.0.13_JIE-pl-utf

1. Modyfikowałem linię w pliku index.php
<meta http-equiv="Content-Type" content="text/html;<?php echo _ISO; ?>" />
gdzie usunąłem znak ">" po content="text/html;

2. Zmieniałem nagłówki w plikach .xml
z <?xml version="1.0" encoding="iso-8859-1"?>
na <?xml version="1.0" encoding="utf-8"?>

3. W bazie MySQL za pomocą phpMyAdmin ustawiłem język utf8_unicode_ci i sprawdzałem również utf8_polish_ci

Nic nie pomaga. Bardzo zależy mi na rozwiązaniu tego problemu.
Link do mojej strony: http://lucyver.cba.pl/
Pozdrawiam

inkos
10-02-2008, 21:08
Bardzo zależy mi na rozwiązaniu tego problemu.
Zamiast tej lini w pliku index.php szablonu:
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
wpisz na sztywno deklarację:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Powinno pomóc.
Poczytaj też więcej na forum.

lucyver
11-02-2008, 08:31
Niestety zamiana tej linii nie pomaga. Zauważyłem jeszcze, że gdy kliknę w lewym menu na link Katalog stron, to w tekście są polskie litery, ale tylko tam.
A jeśli chodzi o czytanie na forum, to wczoraj siedziałem nad tym prawie cały dzień zanim napisałem prośbę o pomoc

Aha. Dodam jeszcze, że korzystam z IE 7, ale otwierałem stronę również w FireFox. Problem bez zmian

Sprawdziłem jeszcze raz ustawienia bazy
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf8_unicode_ci
Wersja klienta MySQL: 5.0.45

mard
11-02-2008, 09:59
Witam
Ja zaproponuje:

1. W phpmyadmin Ustawiamy kodowanie i system porownan bazy danych np. latin2_general_ci

2. W pliku /includes/database.php , robimy mala korekte:
w okolicach lini 102 u mnie dokladnie ta linia wpsiujemy:
(oryginalnie w tej lini powinienes miec cos takiego
//@mysql_query("SET NAMES 'utf8'", $this->_resource);)

mysql_query("set charset latin2");
lub
@mysql_query("SET NAMES 'latin2'", $this->_resource);

lucyver
11-02-2008, 11:52
Jestem zupełnie początkujący, ale trochę poszukałem w ustawieniach bazy i zauważyłem coś dziwnego. Mimo, że system porównań jest ustawiony na utf8_unicode_ci to w bazie jest metoda porównywania napisów latin1_swedish_ci.
Czy to może być przyczyną braku polskich fontów?

mard
11-02-2008, 11:55
prosba, wywal z podpisu ten obrazek bo drazni oko i zastosuj sie do wskazowek powyzej

lucyver
11-02-2008, 12:27
Sorry, ale nie potrafię zmienić systemu kodowania znaków dla MySQL w phpMyAdmin, mimo że długo szukałem takiej możliwości. Pozostał UTF-8 Unicode (utf8)

Zmieniłem tylko system porównań dla połączenia MySQL z utf8_unicode_ci na latin2_general_ci
W pliku /includes/database.php dokonałem korekty i podmieniłem na serwerze, ale problem pozostał.

mard
11-02-2008, 12:30
wyslij mi na maila plik database.php (maila podam Ci na PM).
Jesli to nowa instalacja usun wszystkie wpisy w bazie i zaimportuj na nowo uzywaja metody zgodnosci z MySQL 4, ktora to pomija pewne rzeczy.
Jesli nie mozesz tego zrobic razem z plikiem napisz jaja wersje phpmyadmina masz postaram sie napisac Ci jak zrobic to wlasciwie.

Sprobuj postapic z kodowanie jak juz wczesniej bylo napisane na sztywno tylko, ze przetestuj ustawienie
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />

pozatym tak juz cos niezwiazanego z tematem, to Twoj plik configuration.php nie jest plikiem UTF-8, ale to nie ma wplywu na to co jest Twoim problemem tutaj.

lucyver
11-02-2008, 14:01
Wysłałem na Twojego maila mard dane dotyczące mojego serwera

Niewiem, czy to ma znaczenie dla rozwiązania tego problemu, ale podczas instalacji Joomla! miałem:
Display Errors: zalecane - WŁ. (ON): bieżące - WYŁ. (OFF)
Nie wiedziałem jak to usunąć, więc kontynuowałem instalację dalej

Rzeczywiście zapisałem plik configuration.php w notatniku z kodowaniem ANSI.
Ale jak go zapiszę w notatniku z kodowaniem UTF-8 i podmienię na serwerze, to strona się rozsypuje

mard
11-02-2008, 14:25
przeczytaj moj post o edytorach w temacie o przenoszeniu joomla z folderu do folderu.

mard
11-02-2008, 14:40
dobra lucyver sprawa zalatwiona Twoja joomla naprawiona, a teraz badz uprzejmy napsiac wszystkim czego sie dowiedziales i jak problem zostal naprawiony.

edit:
Jak podeslesz mi na maila oryginalny plik sql z paczki instalacyjnej to Ci go zaladuje, choc po tym wszystkim powinienes juz chyba poradzis sobie z importem do bazy ??

lucyver
11-02-2008, 16:13
Jestem pod wrażeniem. Bardzo dziękuję za pomoc mard i za poświęcony czas :)

Opisuje rozwiązanie problemu przez mard'a:

1. W pliku /includes/database.php, została zmieniona linia kodu. Robimy małą korektę - w okolicach lini 102 wpisujemy:

mysql_query("set charset latin2"); lub @mysql_query("SET NAMES 'latin2'", $this->_resource);

(oryginalnie w tej lini powinno być coś takiego //@mysql_query("SET NAMES 'utf8'", $this->_resource)

2. Wykasowano całą zawartość bazy danych i zaimportowano bazę z trybem zgodnosci MySQL4, który pomija tryb porównań i stosuje domyślny system bazy (czyli w tym wypadku UTF)

Po tych zabiegach na stronie wyświetlają się polskie litery. Jeszcze raz dziękuję i pozdrawiam :rolleyes:

mard
11-02-2008, 19:38
No prawie, prawie cos takiego. Jednak widać, że nauka calkiem w las nie poszla.

Rozwiazanie w/w problemu:

1. Poprawienie wyświetlania kodu plików, czyli wszystkiego co zapisane jest w plikach językowych
@mysql_query("SET charset 'latin2'", $this->_resource);

2. Poprawa wpisów w bazie sql i to już proste nie było gdyż nie majac oryginalnego pliku sql z paczki instalacyjnej troszke trzeba kombinowac.
Uzylem swojej starej bazy danych importujac ja przez phpMyAdmin z metoda porownania UTF-8 oraz co najważniejsze w trybie zgodności z MYSQL40. W większości przypadków nie ma żadnego znaczenia, jednak tylko w wiekszosci.

Kolejnym krokiem bylo pozbycie sie zawartosci tabel odpowiadajacych za muduly, boty i komponenty i uzupelnienie ich zawrtoscia z nowej instalacji. Tutaj z pomoca przyszedl mi plik joomla.sql z paczkiinstalacyjnej, choc wymagal kilku zmian w nazwach tabel.

Oczywiscie zasadnicza sprawa to tabele z naszymi kontami uzytkownika, podczas imortu musimy wiedziec jaki jest login i haslo administratora z importowanej bazy, gdyz moze sie pozniej okazac, ze nie uda sie nam zalogowac do panelu.

To chyba z grubsza tyle i moze kiedys zrobi ktos z tego uzytek jako zalacznik przydalby sie tutaj plik zip z kopia swiezo zainstalowanej bazy. Moze ktos dolaczy, bo ja takiego nie posiadam. Uzywam zawsze swoich starych baz.

pozdrawiam i zycze skucesow
Rafal

lucyver
12-02-2008, 11:13
Dodam jeszcze, że zainstalowałem dla sprawdzenia, pakiet w angielskiej wersji językowej Joomla_1.5.1-Stable-Full_Package i...

okazuje się, że nie ma w niej problemów z wyświetlaniem polskich znaków :rolleyes:

Bolel12
12-02-2008, 11:56
Dzięki za szczegółowy opis, ja tez skorzystałem.

Raiven
15-02-2008, 14:08
Z mojej strony wygląda sytuacja tak. Zainstalowałem Joomle 1.5 i jest ok z pl znakami. Zainstalowałem Joomla 1.0.13-pl i jest ok z pl znakami. Natomiast nieważne, czy instalowałem Joomla 1.0.13 JIE iso czy też Joomla! 1.0.13 JIE-utf8 problem z wyświetlaniem pl znaków występował. Ktoś wie dlaczego tak się dzieje przy tych dwóch wydaniach? I czy każdy taki problem ma, czy też tylko ci, którzy posiadają w jakiś specyficzny sposób skonfigurowane serwery? :/

Przykłady:
www.neviar.net/test - Joomla 1.0.13-pl
www.neviar.net/test2 - Joomle 1.5
www.neviar.net/test3 - 1.0.13 JIE-utf8

Potworzyłem na każdej instalacji na stronie głównej news z pl znakami.