Kom ihåg mig?
Home Menu

Menu


Svenska tecken i utf-8 och latin1

 
Ämnesverktyg Visningsalternativ
Oläst 2008-03-07, 04:18 #1
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Min MySQL databas, mina tabeller och fälten är inställda på latin1_swedish_ci
Alla sidorna har charset utf-8
Detta gör att om jag sparar värden från en form på sidorna med utf-8, så visas det fel i databasen där svenska tecken förekommer.

Om jag manuellt skriver in något i databasen med svenska tecken, så fungerar det att visa korrekt med utf8_encode().
Finns det något sätt att göra latin1_encode innan jag sparar i databasen? Eller är den enda lösningen på problemet att ställa in alla fält och tabeller i databasen på collation utf_8?
Timofey är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-07, 07:34 #2
MMCs avatar
MMC MMC är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2008
Inlägg: 560
MMC MMC är inte uppkopplad
Mycket flitig postare
MMCs avatar
 
Reg.datum: Jan 2008
Inlägg: 560
Den bästa lösningen är nog att du gör om alla tabeller till utf-8. Om du skulle börja konvertera mellan charsetsen vid in/utläsning från databasen, vad händer då när en användare skriver in ett tecken som saknar representation i iso-8859-1?

Kom ihåg att du måste köra ALTER TABLE tabell CONVERT TO CHARACTER SET för varje tabell, det räcker inte att bara ändra collation på databasen. Om sajten är live, gå väldigt försiktigt fram
MMC är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-07, 09:05 #3
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Citat:
Originally posted by alltinggratis@Mar 7 2008, 05:18
Finns det något sätt att göra latin1_encode innan jag sparar i databasen?
utf8_decode()
Lumax är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-07, 09:28 #4
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Formuläret skickar data kodade efter hur sidan visas (styrs av besökarens val och de headers som skickas från webbservern)

Att blanda kodningar på det sätt du beskriver skapar problem och är krångligt. Antingen gör du om den statiska texten på webbsidan till ISO och kör allt i ISO, eller så konverterar du tabellernas innehåll till UTF8.

collation styr sortering enbart, så att sorteringen blir riktig utefter den kodning man valt.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-07, 14:32 #5
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Citat:
Ursprungligen postat av Fredrik S
Citat:
Ursprungligen postat av alltinggratis
Finns det något sätt att göra latin1_encode innan jag sparar i databasen?
utf8_decode()
Tack, utf8_decode() fungerade bra.
Kanske inte den bästa lösningen, men det får duga i nuläget. Sedan så kanske jag gör om tabellerna till utf8.
Timofey är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-04-25, 00:53 #6
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Nu har jag stött på ett liknande problem igen.
Jag har sidan kodad med utf-8 och även charset i head är inställt på utf-8.

Ibland så visas dock texten enligt bild nedan.
Detta uppkommer bara när
- man innan fyller i ett formulär och hamnar på sidan som behandlar datat med GET
- man använder IE7
- med Encoding > Auto-select på i webbläsaren

Varannan gång blir allt rätt, varannan fel ungefär.

Har ni några idéer vad det kan vara? Har hittat samma problem via Google, men ingen lösning.

Edit: IE ställer ändå in encoding Western European (Windows) när problemet uppkommer.
Bifogade bilder
Filtyp: jpg post-4-1209077596.jpg (3.0 KB, 0 visningar)
Timofey är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-04-25, 08:46 #7
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Det kan vara servern som inte ger rätt charset. Det kanske finns en kod codepage i php som det finns i asp?!
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-04-25, 12:30 #8
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Apachedirektivet SetDefaultCharset styr vad som står i headern.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-04-25, 18:13 #9
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Citat:
Originally posted by Magnus_A@Apr 25 2008, 11:30
Apachedirektivet SetDefaultCharset styr vad som står i headern.
Hur kan jag kontrollera att det är där felet ligger? Kan jag se vad som står i headern när sidan laddats med någon kod? Konstigt att felet bara uppkommer i IE.
Timofey är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-04-25, 19:28 #10
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Vet inte om IE men i forefox finns det massor av tillägg som berättar om vad som händer, t ex Live HTTP Headers och Tamper Data.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:23.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017