Preblem med ÅÄÖ

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Zakire



Medlem i: 3206 dagar

Status: Offline



#694674
Inlägg Skrivet: 2010-11-27 16:47      Ämne: Preblem med ÅÄÖ Citera

Hejsan,

Jag har en databas med användaruppgifter som fylls på att efter som man registrerar sig på min hemsida. Allt fungerar som det ska, förutom att ÅÄÖ blir omvandlade till speciella tecken. Det samma gäller mail som skickas av själva PHP-koden.

Tabellerna har formaten "text" och språket är "latin1_swedish_ci". Mina formulär har 'style="text"'.

Någon som vet vad problemet kan vara?
 

_________________
End Game
www.endgame.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5102 dagar
Från: Sveriges framsida
Status: Offline



#694675
Inlägg Skrivet: 2010-11-27 17:19      Ämne: Citera

Kanske en av phpportalens populäraste fråga.

Der beror på teckenkodningen sominte är samma överallt.
Läs mer här:
http://www.phpportalen.net/viewtopic.php?p=667364#667364

Kortfattat måste du ha samma teckenkodning överallt, välj latin1 (iso-8859-1) eller UTF8.

Teckenkodningen ska va samma på följande:
Php-filer
HTML-filer
Content-type-header
Content-type-meta-tagg
Databas
Databastabell
Databasfält
Databasuppkoppling

Kanske jag har glömt något...
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Zakire



Medlem i: 3206 dagar

Status: Offline



#694676
Inlägg Skrivet: 2010-11-27 17:31      Ämne: Citera

marabou skrev:
Kanske en av phpportalens populäraste fråga.

Der beror på teckenkodningen sominte är samma överallt.
Läs mer här:
http://www.phpportalen.net/viewtopic.php?p=667364#667364

Kortfattat måste du ha samma teckenkodning överallt, välj latin1 (iso-8859-1) eller UTF8.

Teckenkodningen ska va samma på följande:
Php-filer
HTML-filer
Content-type-header
Content-type-meta-tagg
Databas
Databastabell
Databasfält
Databasuppkoppling

Kanske jag har glömt något...


Alla mina dokument på hemsidan (html och php) har utf-8. Min databas är inställd på utf-8_swidish_ci

Verkar ändå inte fungera Sad Måste jag göra något ytterliggare (jag menar "ytterligare" men skrev fel) kodning?
 

_________________
End Game
www.endgame.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Elactos



Medlem i: 4045 dagar

Status: Offline



#694688
Inlägg Skrivet: 2010-11-27 19:56      Ämne: Citera

Har du kört SET NAMES (sql fråga)? Din anslutning är inte utf8 som default. Använd SET NAMES och sätt din anslutning till utf8 så kanske det fungerar för dig.
 

_________________
http://www.redward.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
marabou
Administratör



Medlem i: 5102 dagar
Från: Sveriges framsida
Status: Offline



#694717
Inlägg Skrivet: 2010-11-28 11:21      Ämne: Citera

Du slriver ju att tabeööen har formatet latin1, det är inte utf-8! Razz

Dubbelkolla alla mina punkter i förra inlägget och i den länkade tråden.

Är det när du kollar infon i phpmyadmin eller när du skriver ut på webbsidan som det blir konstigaa tecken?
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Zakire



Medlem i: 3206 dagar

Status: Offline



#694750
Inlägg Skrivet: 2010-11-28 17:51      Ämne: Citera

marabou skrev:
Du slriver ju att tabeööen har formatet latin1, det är inte utf-8! Razz

Dubbelkolla alla mina punkter i förra inlägget och i den länkade tråden.

Är det när du kollar infon i phpmyadmin eller när du skriver ut på webbsidan som det blir konstigaa tecken?


Jag ändrade ju till utf-8 för att testa om det hjälpte Wink Men som sagt, det fungerade ändå inte.

ÅÄÖ är specialtecken i dels phpMyAdmin, men också i alla mail som skickas av php-koden. Texten skriver jag direkt i php-dokumentet och har alltså ingenting att göra med databasen.

Om ÅÄÖ blir knasiga även på hemsidan verkar jag inte kunna kolla :S Gjorde en snabb variabel

$efternamn = mysql_query("SELECT (efternamn) FROM user WHERE email='lucas@hokerberg.com'");

men får resultatet "Resource id #2" på sidan :S

Kör jag frågan i phpMyAdmin får jag ut Hökerberg, men inte på hemsidan?
 

_________________
End Game
www.endgame.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5102 dagar
Från: Sveriges framsida
Status: Offline



#694753
Inlägget är accepterad som det rätta svaret Skrivet: 2010-11-28 18:32      Ämne: Citera

Mail skickas i iso-8859-1 (latin1) om man inte anger annat med massa jobbiga mailheaders, och det fungerar oftast dåligt i t.ex. Outlook, så konvertera texten till latin1 innan du skickar mailet.

Mysql_query ställer frågan. Fr att hämta resultatet använder du mysql_result eller mysql_fetch-array eller liknande.

Om du använder htmlentities kan det vara det som orsakar problemet.
Anqvänd htmlspecialchars istället.

Uppenbarligen är det någonting som inte är UTF8.
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Zakire



Medlem i: 3206 dagar

Status: Offline



#694777
Inlägg Skrivet: 2010-11-28 23:01      Ämne: Citera

marabou skrev:
Mail skickas i iso-8859-1 (latin1) om man inte anger annat med massa jobbiga mailheaders, och det fungerar oftast dåligt i t.ex. Outlook, så konvertera texten till latin1 innan du skickar mailet.

Mysql_query ställer frågan. Fr att hämta resultatet använder du mysql_result eller mysql_fetch-array eller liknande.

Om du använder htmlentities kan det vara det som orsakar problemet.
Anqvänd htmlspecialchars istället.

Uppenbarligen är det någonting som inte är UTF8.


Toppen! Fixade både mailen och databasen med hjälp av den här kodraden:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
 

_________________
End Game
www.endgame.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic