![]() |
Gått över till UTF8. Sökning efter ÅÄÖ funkar i FF, men inte i IE.
När jag gör en sökning i MySQL-databasen efter text som börjar på å, ä eller ö så får jag träffar med FF, men inte IE (7).
När jag testar att skriva ut på skärmen vad som skickas från formuläret så är det en fyrkant när jag kör IE. Är det någon som kan tipsa om vad är jag missat? |
Testa med att lägga till accept-charset="UTF-8"
t.ex. Kod:
<form method="" action="" accept-charset="UTF-8"> |
Testade Nerox tips med accept-charset, men tyvärr hjälpte det inte.
1) Kan det vara någon av dessa funktioner som saknas: a) htmlentities b) utf8_decode 2) Eller kan mitt val av teckensnitt ställa till det? |
Vet inte hur känslig IE är, men kan det inte vara teckenkodningen på själva sidan som formuläret ligger på som ställer till det?
|
Ok.. hmm har du
Kod:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> Kod:
header('Content-Type:text/html; charset=UTF-8'); |
Testat med "2 ovan + accept-charset", men nix, IE vill ändå inte fungera.
Har försökt följa denna instruktion --> http://kekos.se/archive/att-ga-over-till-utf8 Men jag är inte riktigt med på vad han menar i steg 4 där han skriver om htmlentities() och htmlspecialchars(). Tror ni att det är viktigt? |
Har du sparat filen ifråga i UTF8 och med/utan BOM?
|
Ja, alla filer (html och php) är sparade i 'UTF8 without BOM'. Datat ligger lagrat i en tabell som är 'utf8_swedish_ci' och dess textfält också 'utf8_swedish_ci'.
Först var tabellen och fälten 'iso 8859-1', sedan ändrade jag via phpMyAdmin till UTF8. Jag exporterade ut all data, tömde tabellen, importerade in datat på nytt. I php-filerna kör jag med: mysql_query("SET NAMES 'UTF8'"); mysql_query("SET CHARACTER SET 'UTF8'"); Denna nöt verkar svår att knäcka, men det känns som det bara återstår något litet. |
Vilken typ av kodning hade filen när du exporterade ut datan?
Du måste exportera data i ISO-8859-1, konvertera filen till UTF8, tömma tabellerna, ändra kodning på fält & tabeller, sen importera filen igen. |
Kolla så att data från formuläret och data från mysql är utf8 genom enkla anrop.
Kolla upp http://php.net/manual/en/function.mb...t-encoding.php |
Jag gjorde export/import via phpMyAdmin. Själva importen gjorde jag inte med via fil, utan jag bara klistrade in 'insert into...'-raderna direkt i SQL-kör-fönstret i phpMyAdmin.
Men jag tror inte felet ligger i datat. Jag testade nämligen att skapa ett par nya poster via ett formulär INNAN importen. Sökning efter åäö funkar i FF men inte IE, så jag tror att felet ligger kommunikationen mellan klienten (webbläsaren) och servern. |
Citat:
IE8: Gå upp i menyn: Sidan -> Kodning FF: Gå upp i menyn: Visa -> Kodning SÄger både IE och FF UTF-8? |
Citat:
|
Är det ett POST eller GET formulär. Om det förstnämnda, vad har formuläret för enctype?
|
Så här ser formuläret ut:
<form name="minForm" accept-charset="UTF-8"> <b>Sök:</b> <input type="text" id="txt1" onkeyup="showHint(this.value)"> </form> Jag har även testat att explicit välja POST eller GET, men det hjälpte inte. |
Kan det att göra med Ajax? Mycket av koden är hämtad från detta exempel: http://www.w3schools.com/php/php_ajax_suggest.asp
|
Hur kommer det sig att iso inte skrotas... UTF-8 borde vara det förvalda alternativet jämt.
|
Alla tider är GMT +2. Klockan är nu 15:39. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson