php get meta tags




我如何閱讀與PHP的unicode網址? (4)

我有一個unicode網址:\ test.php?sText =Московский

我想使用$ _Get函數來處理sText的值。 我對test.php的代碼是:

<?php
$sVar = $_GET['sText'];

echo "Variable = $sVar";
?>

問題是,以上是即將巴赫為:變量= ??????????

我需要做什麼?


感謝所有的反饋。

我已經嘗試了所有的例子,但是我仍然回到問號,即使保存為utf-8。

有一個php.ini設置我可能需要添加/啟用也​​許允許unicode支持?

目前,無論如何,下面的代碼:

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<?php
$sVarControl = "Московский";
$sVar = $_GET['sText'];

echo "Control = $sVarControl <br />";
echo "Variable = $sVar <br />";

?>
</body>
</html>

生成以下輸出:

Control =Московский
變量= ??????????

所以這個頁面能夠處理和顯示unicode。 這可能是$ _GET函數的限制嗎?

編輯

我剛剛嘗試在Google Chrome中運行該頁面,並且工作正常。 這使我想到它的IE設置。 但是什麼? 我該如何解決這個問題?


  • 你需要返回一個UTF-8內容類型的頭文件和你的test.php header('content-type: text/html; charset=utf-8');
  • 你需要保存你的test.php UTF-8編碼(不知道這個,但不會傷害反正)

我試圖使用iconv()函數來解決你的問題(函數的參數可能會有所不同,具體取決於你的系統配置):

$get = iconv('CP1251', 'UTF-8', $_GET['text']);
echo 'Variable = '.$get; // Variable = Московский

你可以閱讀關於iconv功能 。 我希望它對你有用。


這對我來說很好:

$sVar = $_GET['sText'];

echo urldecode($sVar);




get