Malinaa
16.08.2010, 17:50:57
Witam,
piszę stronę wielojęzyczną i wszystko byłoby ok, gdyby tekst na stronie był tylko wczytywany z plików tekstowych, w których mam tłumaczenia języków.
Zmieniam kodowanie strony i nie ma problemu z tekstem w plikach, ale pojawia się problem z tekstem z bazy danych.
Strone piszę w j. polskim i jest to domyślny język, w którym wszystko działa bez kłopotu.
Problem jest jednak wówczas kiedy zmienię np. na angielski tekst z pliku tłumaczenia jest ok, ale polsie znaki z bazy danych nie są ok.
Czy jest prosta i skuteczna metoda na wielojęzyczną stronę.
Prawdopodobie jeśli dobrze myślę strona powinna mieć kodowanie utf-8 zamiast jak mam teraz: iso-8859-2, iso-8859-1 itd.
No tak, ale jak to zrobić dla strony kiedy tłumaczenia są w plikach ($jezyk['tekst_one'] = "Bla bla";) i tekst jest z bazy danych.
Tak, aby nie zależnie o wybranego języka (txt) i nie zależnie czy w tekście z bazy danych będą polskie, angielskie, niemieckie, rosyjskie zanki zawsze były wyświetlane prawidłowo (czytelnie) na stronie w takim, czy innym języku?
k_@_m_i_l
16.08.2010, 17:54:07
Ustaw kodowanie w plikach na utf-8, w bazie tak samo na utf-8. I będzie wszystko ok.
erix
16.08.2010, 17:55:01
Malinaa
16.08.2010, 19:40:15
Kamil
Zmiane kodowana, o której piszesz sprawdziłem wcześniej.
Nie przyniosło to porządanego efektu. Tekst z bazy danych gorzej niż było - brak polskich znaków? Tekst z plików, tutaj musiałem dodatkowo skonwertować tekst na utf-8, a po co?
erix
Temat przegladałem już wcześniej, ale liczba stron i brak informacji której szukam, zniechęcił mnie do dalszego czytania, ale skoro poleciłeś mi ten temat więc przeszedłem przez cały. Niestety nie znalazłem odpowiedzi.
Można krótko?
Ja już zdecydowałem wcześniej jak to zrobię. Tekst statyczny w tablicy (pliki językowe, charset=...) i tutaj nie ma problemu. Kłopotliwy jest tekst z dazy danych, na kodowaniu wymięka. UTF-8 coś też wymięka (czy to dlatego że localhost, na serwerze byłoby lepiej, ale skoro w latin są polskie znaki. What's a problem)?
Pliki są ok, jak to zrobić najprościej i skutecznie dla bazy danych?
Dodatkowe info: artykuły, wiadomości, komentarze wszystko ma się wyświetlać na stronie bez względu na wybrany język użytkownika.
Zmianie ulega część statyczna (tekst z pliku), dynamiczny tekst z bazy, bez zmian, aby tylko był wyświetlany czytelnie w każdym dowolnym języku na stronie.
I to wszystko.
erix
16.08.2010, 19:49:09
Cytat
Kłopotliwy jest tekst z dazy danych, na kodowaniu wymięka. UTF-8 coś też wymięka (czy to dlatego że localhost, na serwerze byłoby lepiej, ale skoro w latin są polskie znaki. What's a problem)?
W latin są polskie znaki. Wszystkie pochodne alfabetów łacińskich korzystają z tablicy ASCII, a znaki narodowe są trzymane w ANSI (kody powyżej 127(10)). Dlatego inne języki się krzaczą.
A to, że wymięka, to pewnie klasyczny problem jak z kodowaniem polskich znaków. Ale podałeś za mało danych, żeby o czymś więcej się dało powiedzieć.
Malinaa
16.08.2010, 20:02:09
To, że w latin inne języki wymiękają to oczywiste, ale nie o tym pisałem.
Podałem tylko informacje, że polskie znaki są (na moim localhost), zastanawiające jest jednak dlaczego w utf-8 już ich nie ma?
Jakie dane są potrzebne, aby dało się coś więcej powiedzieć?
erix
16.08.2010, 20:33:37
Cytat
Podałem tylko informacje, że polskie znaki są (na moim localhost), zastanawiające jest jednak dlaczego w utf-8 już ich nie ma?
- konfiguracja MySQL na obu serwerach
- wersja demona
- zapytania inicjujące
franki01
16.08.2010, 21:00:01
Zaraz po zainicjowaniu połączenia z bazą danych, wykonaj kod:
Jeżeli korzystasz z phpmyadmina, tam też musisz zadbać o odpowiednie kodowanie. Najlepiej ustaw domyślne kodowanie bazy danych i tabel na utf8_unicode_ci.
Malinaa
16.08.2010, 22:42:25
Thanks Good Franki
całkowicie o tym zapomniałem, a mam juz ten problem rozwiązany na stronie.
Po prostu zapomniełem zmienić:
$bd_kod_znakow = 1; // Wlacz 1 / Wylacz 0 kodowanie znakow bazy danych
$bd_kod_charset = "latin"; na "utf8" dla zapytania
to było zastanawiające, nie myślałem że jestem taki sprytny
Thank You
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.