WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Gått över till UTF8. Sökning efter ÅÄÖ funkar i FF, men inte i IE. (https://www.wn.se/forum/showthread.php?t=1038598)

SajtSnickaren 2009-10-16 10:58

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?

Nerox 2009-10-16 11:06

Testa med att lägga till accept-charset="UTF-8"
t.ex.
Kod:

<form method="" action="" accept-charset="UTF-8">

SajtSnickaren 2009-10-16 11:30

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?

mikkex 2009-10-16 12:12

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?

Nerox 2009-10-16 12:15

Ok.. hmm har du

Kod:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
och

Kod:

header('Content-Type:text/html; charset=UTF-8');
För det problemet du har verkar vara att IE skickar <form>:en i en annan encoding. (troligen latin1) hade ett liknande problem med Opera för ett tag sen. Räckte att lägga till dom 2 ovan + accept-charset.

SajtSnickaren 2009-10-16 12:47

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?

hnn 2009-10-16 13:14

Har du sparat filen ifråga i UTF8 och med/utan BOM?

SajtSnickaren 2009-10-16 13:36

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.

hnn 2009-10-16 13:39

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.

grinditwp 2009-10-16 14:02

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

SajtSnickaren 2009-10-16 14:06

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.

grinditwp 2009-10-16 14:42

Citat:

Ursprungligen postat av SajtSnickaren (Inlägg 20326756)
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.

Om du besöker sidan vad säger webbläsaren att den kör för kodning?
IE8: Gå upp i menyn: Sidan -> Kodning
FF: Gå upp i menyn: Visa -> Kodning

SÄger både IE och FF UTF-8?

SajtSnickaren 2009-10-16 15:00

Citat:

Ursprungligen postat av grinditwp (Inlägg 20326764)
Om du besöker sidan vad säger webbläsaren att den kör för kodning?
IE8: Gå upp i menyn: Sidan -> Kodning
FF: Gå upp i menyn: Visa -> Kodning

SÄger både IE och FF UTF-8?

Ja, båda läsarna säger UTF8.

Bjorne 2009-10-16 15:06

Är det ett POST eller GET formulär. Om det förstnämnda, vad har formuläret för enctype?

SajtSnickaren 2009-10-16 15:14

Så här ser formuläret ut:
<form name="minForm" accept-charset="UTF-8">
<b>S&ouml;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.

SajtSnickaren 2009-10-16 16:55

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

robincox 2009-10-16 18:19

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