Visa ett inlägg
Oläst 2009-06-11, 15:30 #10
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Jag har haft likande problem förut, denna kod löser ditt problem på ett bättre sätt:

Kod:
<?php
header("Content-type: text/html; charset=utf-8");
 
function is_utf8($string)
{
 * /* From http://w3.org/International/questions/qa-f...orms-utf-8.html */
	return preg_match('%^(?:[\x09\x0A\x0D\x20-\x7E]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})*$%xs', $string);
} 
 
$q = urldecode($_GET['q']);
if (!is_utf8($q)) $q = utf8_encode($q);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang="sv" lang="sv"> 
	<head> 
 *<title>UTF-8 url decode test</title>
 *<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</head>
<body>
<?php 
echo "Q = $q<br>"; 
?>
<form method="GET" ><input name="q" value=""><input type="submit"></form>
</body>
</html>
Har kört skriptet ovan på både Windows och Linux servrar.
SimonP är inte uppkopplad   Svara med citatSvara med citat