我使用BASE64_ENCODE對返回的URL字符串使用,但是當我到達的頁面給它(使用BASE64_DECODE)解碼,它增加這個字符串的結尾:BASE64_DECODE加入奇怪的字符
-ZH
這裏的編碼字符串代碼:
$sess_refer = 'http://www.mysite.com/create-report.html?view=report&layout=reports&data=selection'
<input type="text" name="referrer" id="referrer" value="<?php echo base64_encode($sess_refer); ?>" />
下面是該字符串解碼代碼:
$referrer = JRequest::getVar('referrer');
$sess_refer = base64_decode($referrer);
它輸出這樣的:
http://www.mysite.com/create-report.html?view=report&layout=reports&data=selection-zh��
什麼我做錯了任何想法?
你確定你沒有在urls中有一些非unicode gremlins,如果複製粘貼,它可以從一些類似ms字樣的程序中拾取一些看不見的垃圾,嘗試將它從頭開始重新輸入?也看看mbstring? – Alex
使用$ _SERVER ['HTTP_REFERER']來抓取原始字符串,所以不應該有任何隱藏字符等等。我會查看mbstring函數:) –
'zh'是一箇中文語言代碼在en-US語言環境中)......似乎非常巧合的是,「zh」和編碼範圍之外的字符神奇地一起顯示。 –