Citat:
Originally posted by Dood@Dec 5 2006, 00:20
Ska sätta upp en liten sajt som ska ha möjlighet att utökas till flera språk och tänker bygga rätt från början.
Texterna för sidorna kommer att administreras via en adminsida där respektive land översätter de engelska texterna till lokalt språk.
Vad är att föredra för att slippa problem med "konstiga" tecken som finns i tex polska, slovenska, kinesiska etc?
Dels vad det gäller inställningar för MySQL men också det som skickas från formuläret (accept-charset?), om textsträngarna som ska sparas ned bör encodas på något sätt samt vad som är att föredra då sidorna ska visas, för att hantera så många språkvarianter som möjligt.
Någon som har några bra regler att tänka på eller någon länk till en guide?
Tack på förhand!
|
Om du använder Unicode i form av utf-8 så kommer du inte ha problem med några språk (kinesiska, ryska, arabiska, polska - inget problem). Se till att ha MySQL att lagra text som utf8, hämta och lagra text som utf8 och se också till att ha alla dina websidor encodade som utf-8. Det är i sig inget besvärligt att använda utf-8 genomgående (även om en del verkar vara lite oroade över detta nya).
Kod:
CREATE DATABASE multikulti
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
för att skapa en utf8 databas, välj utf8 för överföring innan du hämtar eller sparar data
Framförallt ska du se till att använda MySQL
5, tidigare versioner än 4.1 har inget som helst stöd för utf8… Naturligtvis är bästa platsen att lära sig mer MySQLs hemsida och dokumentationen där:
http://www.mysql.se/doc/refman/5.0/en/charset.html
accept-charset har ingen praktisk betydelse, encodingen på sidan avgör:
Kod:
<meta http-equiv="content-type" content="text/html;charset=utf-8">
form skickar då tillbaks input med samma encoding (utf-8) som sidan är.
Se också till att det serversidespråk som du använder hanterar utf-8 riktigt. Exempelvis med mb_string i php (sätt internal encoding utf-8). Om du tänker använda php så kolla:
http://de3.php.net/manual/en/ref.mbstring.php
(och se till att din server/ditt webbhotel har mb_string installerat)