ume090Medlem sedan aug. 200519 inlägg Jag har problem med att fixa så man kan leta efter "tåg".
När jag skrev t så kunde jag se
T-sprit
tåg
tack
Tak
Takplåt
så jag skrev tå så hittade databas inte "tåg"
Då jag testade med
$med = array ( "Å", "Ä", "Ö", "å", "ä", "ö" );
$byt = array ( "Å", "Ä", "Ö", "å", "ä", "ö" );
$str = str_replace($byt,$med,$str);
Det funkar! Men det är jobbigt eftersom jag behöver ha t.ex â ô bla bla. Så ska jag sätta in massor i array eller ha ni bättre lösning?
spangoMedlem sedan juni 20008 205 inlägg Det är inte en jättebra idé att göra så, som du förstår :)
Finns två varianter. Det ena är att koda datan du skickar in i ajaxanropet med latin1 istället för unicode (escape istället för encodeURIComponent, vilket egentligen är dåligt att göra eftersom det ganska kraftigt reducerar vad för slags text du kan skicka in, men det funkar). Den andra är att låta PHP avkoda korrekt (default_charset = "UTF-8" i php.ini, t.ex.).
ume090Medlem sedan aug. 200519 inlägg Det ena är att koda datan du skickar in i ajaxanropet med latin1 istället..... Det låter bra, men ett problem är att multi språk på en sida är inte lätt att ha latin1.
Det måste finns nåt bättre lösning!
Ni kan se
http://www.google.com/webhp?complete=1&hl=en
Dom kör UTF-8, visst är google en geni?
Jag testade â etc i google och därmed gick finemang!
spangoMedlem sedan juni 20008 205 inlägg
ume090 skrev:
Det ena är att koda datan du skickar in i ajaxanropet med latin1 istället..... Det låter bra, men ett problem är att multi språk på en sida är inte lätt att ha latin1.
Det måste finns nåt bättre lösning!
Läs andra halvan av mitt inlägg då ;)
Ditt faktiska problem är att PHP avkodar indatan fel. Säg åt PHP att använda UTF-8. Tror att det borde lösa sig om du sätter default_charset i php.ini till UTF-8, men jag har dålig koll måste jag erkänna. Någon annan kanske kan bidra?
GislavedMedlem sedan nov. 20041 740 inlägg Du har ju även utf8_encode och utf8_decode som du kan använda i PHP.