webForumDet fria alternativet

Problem med svenska tecken i SQL-fråga

2 svar · 842 visningar · startad av K@llen

K@llenMedlem sedan mars 20032 667 inlägg
#1

Hej,

Jag har följande SQL-fråga:

$sql = "SELECT COUNT(wordName) FROM wordlist WHERE ucase(wordName) like '$cat%'"; 
$res = mysql_query($sql); 
$numRows = mysql_result($res, 0);

Variabeln $cat innehåller en bokstav A-Ö. Om bokstaven är A-Z fungerar allt som det ska. Men om bokstaven är Å, Ä eller Ö returnerar $numRows 0.

Kan det ha något med teckentabeller att göra? Både sidan och tabellen i MySQL har encoding UTF-8.

Några ideer på lösningar?

K@llenMedlem sedan mars 20032 667 inlägg
#2

Skriver jag ut SQL-frågan så ser du ju faktiskt bra ut:

SELECT COUNT(wordName) FROM wordlist WHERE ucase(wordName) like 'Ä%'
K@llenMedlem sedan mars 20032 667 inlägg
#3

Fann en lösning på problemet:

mysql_set_charset('utf8');

Eftersom jag hade UTF-8 på både sidan och databasen.

http://php.net/manual/en/function.mysql-set-charset.php

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)