Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielojęzyczne wiersze - międzynarodowa baza
Forum PHP.pl > Forum > Bazy danych > MySQL
InnoDB
TABLE I
ID | Język | TIME
TABLE II
ID | TEXT char(64) lub text
TABLE III
ID | Poczta | DATE (2011-09-09 12:49)

Table I, użytkownik ID wybiera język i wybiera czas.
Table II, użytkownik ID wstawia znaki w swoim języku.
Table III, użytkownik ID dostaje pocztę z aktualną datą własnej strefy (TIME).

Problem I: Użytkownik dostaje wiersz w tabeli ID, i postanawia użyć własnych znaków.
Problem nie dotyczy wszystkich moich tworzonych tabel. Tabelki w projekcie wszystkie InnoDB.
Języki:USA/Francja/Niemcy/Hiszpania/Portugalia/Polska/Rosja.

->->->Pytanie |: Jak powinna wyglądać wielojęzyczna strona z możliwością zmiany? Oczywiście nie przeszkadza mi, gdy po zmianie języka, obecny tekst klientowi ID się wykrzaczy. Czy można zastosować kodowanie uniwersalne? Nie zależy mi na pamięci.

Myśl I: Gdyby tak każdy znak potraktować tak : 255.255, to by się wszystko zmieściło bez kodowania.
Myśl II: Gdyby zapisać jako (binarne) 255, bezosobowe. Raczej chodzi mi o nie kodowanie znaków. I nie chodzi mi o zamianę w php znaków.
->->->To tak, jakby wybór języka przez klienta świadczył, jak zinterpretowane mają zostać znaki z 255 u niego w przeglądarce.

Jeśli ktoś mnie zrozumie i ukierunkuje, to będzie fajnie.
Pilsener
1. Jeśli używasz UTF-8 nie powinieneś mieć problemów ze znakami w bazie, nie wiem jak to będzie z PW typu "ziomek z Chin <-> Ja" bo nigdy nie testowałem smile.gif
2. Strona wielojęzyczna powinna mieć obligatoryjny język defaultowy (najczęściej angielski) a tłumaczenia zapisane w plikach (stałe frazy) i bazie. Przy wyborze języka innego niż default do tabeli np. articles dołączam joinem tabelę articles_pl i te artykuły, które są przetłumaczone wyświetlają się po polsku.
3. Przy problemach z językami (zwłaszcza porównywaniem diaktrycznych stringów) przydają się funkcje multibajtowe: http://www.php.net/manual/pl/book.mbstring.php
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.