Kom ihåg mig?
Home Menu

Menu


php -> mysql -> åäö

 
Ämnesverktyg Visningsalternativ
Oläst 2008-05-12, 22:57 #1
pjm pjm är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2008
Inlägg: 16
pjm pjm är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2008
Inlägg: 16
Tjenare. försökte söka och kolla om detta diskuterats tidigare, hittade några exempel men inget som jag tyckte stämde in på det jag undrar över.

Jag har ganska konstiga problem med att jämföra data i min db (mysql) från php för om jag lägger in uppgifter med INSERT i php så blir Ä = Â_ eller nåt sånt. och det blir sen helt fel när jag ska jämföra för att se om användaren redan existerar. :huh:

Jag vet ju att problemet antagligen är rätt lätt att lösa, men i vilken ände ska det lösas? ändra charset på databas/phpsidan/nåt annat?

Tacksam för svar
pjm är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-05-12, 22:58 #2
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Använd samma charset överallt. I PHP-filen, i HTML-koden, i HTTP-headern, i MySQL och i kopplingen mellan PHP och MySQL.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-05-12, 23:00 #3
pjm pjm är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2008
Inlägg: 16
pjm pjm är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2008
Inlägg: 16
hmm.. jag körde "utf-8" som om jag fatta det rätt ska vara samma som körs på phpmyadmin. men det verkade inte stämma heller.. blir tokig på sånthär

Edit: Kopplingen mellan php & mysql?
pjm är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-05-12, 23:06 #4
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
http://www.phpportalen.net/viewtopic.php?p...p=559018#559018
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-05-12, 23:11 #5
pjm pjm är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2008
Inlägg: 16
pjm pjm är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2008
Inlägg: 16
Tusen tack!!

mysql_query("SET NAMES 'utf8'") or die(mysql_error());
mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error());

gjorde susen. inte stött på detta tidigare..
pjm är inte uppkopplad   Svara med citatSvara med citat
Oläst 2015-11-28, 18:40 #6
warpi2 warpi2 är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2015
Inlägg: 2
warpi2 warpi2 är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2015
Inlägg: 2
Eftersom jag nu själv fått utstå några timmars felsökning gällande problem med åäö i samband med php och mysql, så tänkte jag med detta inlägg nu bespara framtida programmerare detta.

För att få åäö att fungera problemfritt, se till följande
1. PHP-filen du exekverar är enkodad i UTF-8
2. Använd följande kommando i php-filen "mysql_query("SET NAMES 'utf8'") or die(mysql_error());"
3. Använd följande kommando i php-filen "mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error()); "
4. Se till att anslutning till databasen i phpmyadmin är "Server connection collation: utf8_general_ci"
5. Se till att mysqltabellen har inställningen "Collation utf8_bin"
6. Se till att mysqlraden har inställningen "Collation utf8_bin"
7. Headern på sidan <head><meta charset="UTF-8"></head>
8. Kolla så att php.ini är konfigurerad med "default_charset = "utf-8""

Och om du följer ovan instruktioner kommer du inte behöva använda följande kommandon
9. utf8_encode() eller utf8_decode()

Om du skall skicka epost med mail() funktionen, se till att ha med följande i headern
10. "Content-type: text/html; charset=UTF-8" . "\r\n";

Lycka till
warpi2 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2015-11-28, 19:06 #7
x264 x264 är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2013
Inlägg: 342
x264 x264 är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2013
Inlägg: 342
Citat:
Ursprungligen postat av warpi2 Visa inlägg
Eftersom jag nu själv fått utstå några timmars felsökning gällande problem med åäö i samband med php och mysql, så tänkte jag med detta inlägg nu bespara framtida programmerare detta.

För att få åäö att fungera problemfritt, se till följande
1. PHP-filen du exekverar är enkodad i UTF-8
2. Använd följande kommando i php-filen "mysql_query("SET NAMES 'utf8'") or die(mysql_error());"
3. Använd följande kommando i php-filen "mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error()); "
4. Se till att anslutning till databasen i phpmyadmin är "Server connection collation: utf8_general_ci"
5. Se till att mysqltabellen har inställningen "Collation utf8_bin"
6. Se till att mysqlraden har inställningen "Collation utf8_bin"
7. Headern på sidan <head><meta charset="UTF-8"></head>
8. Kolla så att php.ini är konfigurerad med "default_charset = "utf-8""

Och om du följer ovan instruktioner kommer du inte behöva använda följande kommandon
9. utf8_encode() eller utf8_decode()

Om du skall skicka epost med mail() funktionen, se till att ha med följande i headern
10. "Content-type: text/html; charset=UTF-8" . "\r\n";

Lycka till

Värt att bumpa ett inlägg från 2008 med saker de andra redan har sagt? Dessutom är mysql funktionerna deprecated!
x264 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2015-11-29, 12:23 #8
gregoff gregoff är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2010
Inlägg: 658
gregoff gregoff är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2010
Inlägg: 658
mysql_ funktionerna är direkt livsfarliga att använda. Kolla upp PDO och prepared statements.

http://wiki.hashphp.org/PDO_Tutorial...SQL_Developers
gregoff är inte uppkopplad   Svara med citatSvara med citat
Oläst 2015-11-30, 15:11 #9
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
För formulär, använd:
accept-charset="UTF-8"

En relaterad fråga,
hur bör man hantera de fall där användare(kanske hackers) skickar in t.ex UTF-7 via formulär? Blev inte klok på detta sist jag kollade
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2015-11-30, 15:28 #10
Nerix Nerix är inte uppkopplad
Flitig postare
 
Reg.datum: Oct 2010
Inlägg: 398
Nerix Nerix är inte uppkopplad
Flitig postare
 
Reg.datum: Oct 2010
Inlägg: 398
Citat:
Ursprungligen postat av danjel Visa inlägg
För formulär, använd:
accept-charset="UTF-8"

En relaterad fråga,
hur bör man hantera de fall där användare(kanske hackers) skickar in t.ex UTF-7 via formulär? Blev inte klok på detta sist jag kollade
Konvertera datan från UTF-7 till 8 så är du klar. Finns mjukvaror som hjälper dig att lista ut vilken teckenkodning som används.
Nerix ä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 15:23.

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