Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strona wielojęzyczna
Forum PHP.pl > Forum > PHP
Malinaa
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
Ustaw kodowanie w plikach na utf-8, w bazie tak samo na utf-8. I będzie wszystko ok.
erix
Temat: Wielojezykowosc
Malinaa
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
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
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
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
Zaraz po zainicjowaniu połączenia z bazą danych, wykonaj kod:
  1. mysql_query("SET NAMES utf8");

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
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 Rkingsmiley.png

Thank You party.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.