2013-08-04 20 views
3
$url= "testę"; 
$urlLower = strtolower($url); 

echo "$url<br> $urlLower "; 

輸出:PHP變換網址,但無特殊字符

test%c4%99 
test%C4%99 

如何輸出

test%C4%99 
test%C4%99 
+2

我猜你不使用'MBSTRING overloading'在您安裝的字符串函數?如果不是,那麼這些「特殊字符」在腳本中不會被識別。所以PHP沒有辦法以特殊的方式處理'C'。在另一方面:如果你配置PHP來使用的字符串函數重載,那麼你將永遠看不到「百分比逃脫序列」,而不是你會看到原始的字符串,包括在你的輸出中的「特殊字符」和功能'用strtolower ()'和'strtoupper()'將按預期工作。 – arkascha

+0

因爲它是一個URL,所以'strtolower()'可能不是要走的路。 'urlencode()'當然是你在這裏尋找的東西。 –

回答

1

我想你想看看urlencode:

$url = 'testę'; 
$urlLower = urlencode($url); 

哪會給你:

$urlLower = 'test%C4%99' 

http://php.net/manual/en/function.urlencode.php

+0

有f嗎? Ouch :) –

+0

在PHP中,總是有一切功能!有人稱它很甜蜜。其他人稱之爲臃腫。 –

+0

那麼,這解決了你的問題,我採取了嗎? –