獲得值從我開始說我不知道如何制定這個問題,我花了最後兩天尋找一些方法來接下來。
我送使用Base64如下編碼的一些信息....
值是:
的LOMGruñes
這個值從一個輸入框來的那
怎麼一回事,因爲我做這個
$名稱= htmlentities(($ _POST ['name']),ENT_NOQUOTES,'UTF-8');
$ midn = htmlentities(($ _POST ['midn']),ENT_NOQUOTES,'UTF-8');
的輸出,這應該是
使用從編碼UTF-8獲取URL的值使用從編碼UTF-8
Lóms Gruñes
而這正是得到編碼,直到一切都很好,我可以做任何我需要與,在這種情況下,我要對其進行編碼使用Base64
$datas ='&name='. $name .'&midn='. $midn;
$bd = base64_encode($datas);
// Now lets send that info to another file..
header('Location: other.php?d=$db') ;
因此該網址會像
domain.com/other.php?d=TCZvYWN1dGU7bXMgR3J1Jm50aWxkZTtlcw==
所以,現在讓解碼,以便它可以保存...
$ds = base64_decode($_GET['d']);
parse_str($ds, $params);
$name = htmlentities($params['name'], ENT_NOQUOTES);
$midn = htmlentities($params['midn'], ENT_NOQUOTES);
它看起來相當直截了當是不是......但這裏是因爲當我嘗試使用值問題沒有發生......可以說,我只是想呼應它...
echo $name . '<br>';
echo $midn;
我得到的是
大號
格呂
那麼在哪裏?和?
好吧,讓說,我不編碼任何這樣的URL看起來像這樣...
domain.com/other.php?name=Lóms&midn=Gruñes
// and the I use echo like this:
echo $_GET['name'] . '<br>';
echo $_GET['midn'];
// the output is
L
Gru
即使我把:標題(「內容類型:text/html的;字符集= UTF- 8' );在<?php
之後...什麼也沒有發生...所以,問題...我怎麼能得到ó
作爲一個價值或更好,我怎麼能發送í,ó,ñ,á...等等URLdomain.com/file.php?data=íÄÑó並按照原樣保存並按原樣保存。
我不知道這是否有一些相關信息,數據將會被保存在一個數據庫中,數據庫是InnoDB的,utf8_general_ci
感謝您抽出寶貴時間......
'&'用於分隔[* application/x-www-form-urlencoded * encoding]中的名稱/值對(http://www.w3.org/TR/html401/interact/forms.html #h-17.13.4.1),所以'&'在'&oacute;'和'&ntilde;'中標記了以前名稱/值對的結尾。您需要使用'urlencode'正確編碼值(''parse_str'已經解碼了它們)。 – Gumbo
[每個Web開發人員必須知道的URL編碼](http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding),[The偉大的逃避現實(或者:你需要知道如何處理文本中的文本)](http://kunststube.net/escapism/) – deceze