Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Strona wielojęzyczna, Kodowanie znaków utf-8
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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?


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

Ostrzeżenie: (0%)
-----


Ustaw kodowanie w plikach na utf-8, w bazie tak samo na utf-8. I będzie wszystko ok.


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Temat: Wielojezykowosc


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Malinaa
post
Post #4





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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.


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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ć.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Malinaa
post
Post #6





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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ć?


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
franki01
post
Post #8





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Malinaa
post
Post #9





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:26