petrus_ napisał:
W bazie danych mam kodowanie utf8. oglądając bazę lokalną myAdminem, czy też zrzuty sqlowe widzę w polach polskie znaki kodowane utf8, a pod Joomla są już tylko znaki zapytania.A jakie kodowanie masz na
utf8?.
Czy to?:
1.System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)?.
Czy to?:
2.System porównań dla połączenia MySQL: utf8_unicode_ci:?.
To?:
3.Language: Polski-Polish ?.
Lub to?:
3.Metoda porównywania napisów (w tabelach): latin1_swedish_ci?.
Ad .1. Oznacza, w jakim kodowaniu będą przechowywane dane w całej bazie
MySQL. Zauważ, że nie masz możliwości zmiany tej wartości.
Ad .2. Oznacza on, jak sam opis wskazuje, system porównań dla połączenia Twojego
Joomla, czyli klienta z serwerem z bazą
MySQL. Dotyczy to np. wysyłanych zapytań do bazy, pobierania z bazy informacji, czyli tak zwane
echo. Generalnie jest to połączenie
Klient-SerwerMySQL. I w tym przypadku nie ma to wpływu na to, czy będziesz miał polskie znaki w treści, czy nie. Weźmy sobie na przykład takie zapytanie, wysłane przez skrypt
PHP:
Kod: |
<?php
$result=mysql_query("SELECT COUNT(*) clients_count FROM clients;", $connection);
$row=mysql_fetch_assoc($result);
echo $row['clients_count'];
mysql_query("SELECT COUNT(*) clients_count FROM clients;", $connection);
echo $row['clients_count'];
?>
|
W tym kodzie nie ma ani jednego wyrazu, słowa w języku polskim, i być nie może, bo programowanie w
PHP opiera się na języku angielskim. A poźniej zwrócony rezultat zapytania, i jego sposób wyświetlenia, to jest właśnie zadanie dla skryptów
Joomla.
Ad. 3. Jest to język
INTERFEJSU UŻYTKOWNIKA bazy, czyli nie żadne kodowanie, tylko twój język narodowy. Bo gdybyś przestawił tutaj wartość na np:
Language: Norsk-Norwegian
...to miałbyś wszystkie teksty, komunikaty i.t.p w języku norweskim. To też nie ma nic wspólnego z brakiem polskich znaków na Twoim serwerze (witrynie).
Ad. 4. Ta wartość ma właśnie zasadnicze znaczenie w tym, czy będziesz miał polskie znaki na stronie. W
phpMyAdminie, , na jego stronie głównej masz tylko opcje z punktów
1 oraz
2. Natomiast aby zobaczyć dokładniej jaki jest system porównywania napisów w bazie
MySQL, musisz wejść w strukturę bazy, czyli tam, gdzie są wszystkie tabele, i odczytać wartości, dla każdej tabeli osobno, w kolumnie opisanej "
Metoda porównywania napisów". Standardowo jest tam "
latin1_swedish_ci (Szwedzki, bez rozróżniania wielkości liter)", czyli
ISO-8859-1. Taką wartość powinieneś mieć, gdyż po zmianie tego na np. "
latin2_general_ci", co jest często błędnie podpowiadane na niektórych forach, będziesz miał znaki zapytania, zamiast polskich znaków.
Reasumując. Większość baz danych
MySQL z którymi ja miałem do czynienia, miało podobne ustawienia do powyższych, oprócz punktów
1(może nie być tej wartości) i
2, gdzie może być kodowanie
ISO-8859-2. Wówczas dane w bazie składowane są w języku polskim. Tak miałem ja, na poprzedniej bazie
MySQL w wersji
4. Ale myślę, że to wiesz, i Twój problem dotyczy braku polskich znaków na serwerze lokalnym., więc moje wywody przydadzą się też innym. Napisałeś:
Przypuszczam, że mój kłopot jest związany z ustawieniami wyświetlania polskich liter przez serwer lokalny
...więc spróbuj przekodować bazę na np.
ISO-8859-2. Ten Twój
myAdmin musi posiadać jakieś opcje, podobne do tych z serwera wirtualnego. Spróbuj pokombinować. Jest wiele możliwości. Ten tekst powyżej dotyczy baz danych na serwerach wirtualnych, ale może pomóc Ci w rozwikłaniu Twojego problemu.
petrus_ napisał:
Ustawienie językowe Joomla mam pl_PL
A sprawdzałeś, czy wpis w templatce jest prawidłowy?.
Kod: |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
|
...bo samo ustawienie na
pl_PL nie wystarcza przeglądarkom na ustawienie prawidłowego dekodowania znaków.
To tyle. Przeanalizuj mój post, i pamiętaj, o czym już pisałem na tym
Forum, że już wprowadzone treści nie ulegną zmianie po zmianach kodowań w bazie
MySQL,
BO TO CO BYŁO, A JUŻ NIE JEST, NIE PISZE SIĘ W REJESTR. Takie stare przysłowie, ale jak aktualne. Czyli zanim zaczniesz coś robić, spróbuj napisać nowy artykuł, opublikuj go, i zobacz, czy masz polskie znaki.
To tyle. Może ktoś znający się na
Krasnalach i.t.p coś dopisze?. Pozdro.
Jokris.