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


Alla tider är GMT +2. Klockan är nu 23:21.

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