Håller på att fixa en rysk sida och har stött på lite problem.
Allt är frid och fröjd så länge den ryska texten skrivs in på sidan och skrivs till databasen. Men, när texten skall läsas från databasen så blir det bara ??????
Anledningen är säkert pga att de ryska tecknen inte tillhör samma teckentabell som de svenska, men det hjälper inte att lägga till
Här är min lilla checklista att ha i bakhuvvet vid utveckling ASP/MSSQL:
1. Sätt korrekt CodePage i asp-koden.
2. Sätt korrekt CharSet i asp-koden.
3. Sätt korrekt Content-Type i html-koden.
4. Spara med korrekt Encoding på dokumentet.
5. Sätt korrekt Data Type på textkolumner i databasen.
6. Deklarera/hantera variablerna korrekt i SP och dess input från asp.
Du kan också, som emission förklarade, använda Session.CodePage = 65001 istället för Response.CodePage = 65001.
Punkt 4:
Spara dokumentet som UTF-8.
Beror lite på vilken editor du använder, testa i Notepad för enkelhetens skull:
File > Save As.. och välj UTF-8 som Encoding > Save.
Det löste de ryska tecknen, men....
jag tappade formateringen av text och formatering av tabeller, dessutom slutade de svenska tecknen att funka....
:q :q
Du måste ha alla sidor enligt ovanstående också, inte bara sidan där du vill visa content.
Ex. så måste sidan med formuläret, där du stoppar in information i databasen, också vara UTF-8.
Annars kommer informationen In i databasen med fel charset.
Har du gjort allt rätt så ska du kunna skriva vanliga å, ä och ö i html koden som sedan syns som å, ä och ö när sidan visas för besökare.
Samma sak gäller för information i databasen.. :)
Tjena,
nu drar jag upp en gammal tråd, men jag håller på att bli galen.
Jag har gjort en sajt som ska vara på fyra språk:
- Svenska
- Engelska
- Hollänska
- Japanska
Efter en del tips jag läst om här på wF kom jag fram till att lösa det med UTF-8 samt XML-filer för de "statiska" texterna.
Innehållet menyer / texter / bilder osv. kommer från en MySQL databas och sidan är i skriven i ASP / XHTML.
Nu har jag dykt på helt sjuka problem med svenska tecken (å, ä, ö) och får egentligen ingen ordning på det här.
Ska även nämna att jag följt Palles lista ovan och allt stämmer enligt den.
-----------------------------
- Jag sätter Session.CodePage, Response.CodePage resp. Response.Charset på alla sidor.
- Alla filer är sparade som UTF-8
- MySQL databasen och alla tabellerna är sparade som UTF-8.
- Rätt ContentType är satt.
-----------------------------
Det enda jag kan tänka mig att något är fel på databasen, Zcorpan har hjälpt mig lite och tittat på vissa filer och han menar på att allt är rätt, om man ser till filerna och content-type osv.
Därför tror jag att något är fel i antingen databasen eller i aspkoden.
I eftermiddags testade vi att byta kodning på xml-filerna från UTF-8 till ASCII (Windows-1252 eller vad det kalls) och då kom å,ä,ö igång igen och visas rätt.
Men uppdaterar jag något fält m.h.a ett formulär på sidan så blir det fel igen.
Går det att ange något i form-taggen för att datan ska behandlas på något annat sätt?
Behöver verkligen hjälp med det här, snart dags att lägga upp sidan.
Skrik till om ni vill se kod, så ordnar jag det.
Kanske har vi bättre webbläsare nu än då denna tråden skapades men ryska tecken fungerar bra för mig med Windows 2000 från 1999 och sidor kodade i Dreamweaver utan någon speciell typ av ändrade (sid-)koder än de från fabriken, så att säga.
Japanska tecken kan jag inte uttala mig om. Här finns ryska tecken att testa med:
Men jag har inte ryska tecken alls, om du läser mitt inlägg ;)
Själva problemet ligger endast när man visar det svenska språket och felet beror troligtvis på asp / mysql.
Kanske det kan vara så, men alla sidor är i efterhand kontrollerade av dels mig och dels den killen som står för designen, så jag tror inte att vi kan ha missar det två gånger.
CharSet bakas in i Content-Type headern. Onödigt att ange Content-Type både i header och i meta-tagg.
Okej, jag följer bara denna lista... ;)
Läste ngnstans att man kan exportera all data från MySQL till en textfil, sedan sparar man textfilen som UTF-8 och sen importerar den i MySQL igen, tror ni på det?
- Jag känner mig rätt tveksam över det, men snart tar jag till vad som helst för att få det här att funka...
153 ms totalt · 3 externa anrop · v20260731065814-full.b746b907