導航:首頁 > 編程語言 > phpurlencode編碼

phpurlencode編碼

發布時間:2024-04-25 02:36:28

A. php中有沒有類似urlencode一樣轉換英文字元的函數

這是兩個php自帶的unicode標准函數,具體用法可以查manuel
第一個參數是你要轉換的字元串
第二個參數是encode的類型例如'ISO-8859-2'
第三個參數可以不用.
string unicode_encode ( unicode $input , string $encoding [, int $errmode ] )

unicode unicode_decode ( string $input , string $encoding [, int $errmode ] )

B. urlencode進行轉換後 為什麼空格是+號 不是%20

可以看看PHP的函數urlencode() 和 rawurlencode()函數的實現方式,第二個是raw轉換,會把對應的空格更換成 %20 的編碼方式。

%20 是空格的 URL 字元編碼。

[ol][*] [*]$new_true_url = iconv('gbk','utf-8',$true_url);

[*]$down_true_url =??urlencode($new_true_url);

[*]$down_true_url =str_replace("%3A%2F%2F", "://", $down_tr。

使用編碼函數就可以將特定字元轉換成規定的字元編碼,包括空格等。解碼函數功能剛好相反。參數是需要處理的字元串,返回值是處理好的字元串。不過這些函數作用都有差異,詳細內容可以自己查看資料。

(2)phpurlencode編碼擴展閱讀:

編碼原理:

將需要轉碼的字元轉為16進制,然後從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%XY格式。

比如:

空格ASCII碼是32,對應16進制是20,那麼urlencode編碼結果是:%20,但在新標准中空格對應的是+,見RFC-1738

比如:

中ASCII碼是-10544,對應的16進制是D6D0,那麼urlencode編碼結果是:%D6%D0。

C. 為什麼php中用了urlencode處理字元串後,瀏覽器自動又轉了回來

有兩中解決辦法:
1.文件編碼改為ansi類型的,
2.文件類型還是為utf-8的,
$bdc_music_title_encode=urlencode($bdc_music_title_encode);
改為:
$bdc_music_title_encode=iconv('utf-8','gbk',$bdc_music_title_encode);
$bdc_music_title_encode=urlencode($bdc_music_title_encode);

D. php中強制下載文件的代碼(解決了IE下中文文件名亂碼問題)

中間遇到一個問題是提交的中文文件名直接放到header里在IE下會變成亂碼,解決方法是將文件名先urlencode一下再放入header,如下。
復制代碼
代碼如下:
<?php
$file_name
=
urlencode($_REQUEST['filename']);
header("Pragma:
public");
header("Expires:
0");
header("Cache-Control:
must-revalidate,
post-check=0,
pre-check=0");
header("Content-Type:
application/force-download");
header('Content-Type:
application/vnd.ms-excel;
charset=utf-8');
header("Content-Transfer-Encoding:
binary");
header('Content-Disposition:
attachment;
filename='.$file_name);
echo
stripslashes($_REQUEST['content']);
?>
解決PHP
Header下載文件在IE文件名中文亂碼有兩種常見的,一種是是把頁面編碼改成utf8,另一種是對中文url進入urlencode編碼就可以解決了。
解決方案一(我的頁面是utf-8編碼):
復制代碼
代碼如下:
$filename
=
"中文.txt";
$ua
=
$_SERVER["HTTP_USER_AGENT"];
$encoded_filename
=
urlencode($filename);
$encoded_filename
=
str_replace("+",
"%20",
$encoded_filename);
header('Content-Type:
application/octet-stream');
if
(preg_match("/MSIE/",
$ua))
{
header('Content-Disposition:
attachment;
filename="'
.
$encoded_filename
.
'"');
}
else
if
(preg_match("/Firefox/",
$ua))
{
header('Content-Disposition:
attachment;
filename*="utf8'''
.
$filename
.
'"');
}
else
{
header('Content-Disposition:
attachment;
filename="'
.
$filename
.
'"');
}
解決方法二
將文件名先urlencode一下再放入header,如下。
代碼如下:
復制代碼
代碼如下:
<?php
$file_name
=
urlencode($_REQUEST['filename']);
header("Pragma:
public");
header("Expires:
0");
header("Cache-Control:
must-revalidate,
post-check=0,
pre-check=0");
header("Content-Type:
application/force-download");
header('Content-Type:
application/vnd.ms-excel;
charset=utf-8');
header("Content-Transfer-Encoding:
binary");
header('Content-Disposition:
attachment;
filename='.$file_name);
echo
stripslashes($_REQUEST['content']);
?>

E. PHP的。UTF-8編碼的網頁下面,如何將urlencode轉成GB2312編碼的

echo urlencode(iconv('utf-8', 'gb2312', '中國人'));
先把 中國人 編碼轉成 gb2312,然後再urlencode編碼一次

閱讀全文

與phpurlencode編碼相關的資料

熱點內容
浩天酒道館網是什麼app 瀏覽:211
永久不收費的電影網站 瀏覽:119
兒女傳奇全集目錄 瀏覽:521
文學評論pdf 瀏覽:410
linux源代碼導讀 瀏覽:702
百戰程序員6000集下載 瀏覽:146
蘋果和安卓手機之間怎麼克隆 瀏覽:465
模糊聚類演算法研究 瀏覽:108
寶德伺服器硬碟亮紅燈如何解決 瀏覽:696
androidlibgdx下載 瀏覽:409
聯盟pdf下載 瀏覽:793
南通住房公積金app支取銀行怎麼填 瀏覽:680
韓國劇情電影男主自殺2次是什麼電影 瀏覽:646
李彩譚電影全部 瀏覽:703
范偉喬杉電影叫什麼名字 瀏覽:467
中國十大免費電影網站 瀏覽:509
一富豪請兩個女的的電影 瀏覽:701
如何雲伺服器搭建游戲 瀏覽:561
魔獸獵人宏命令 瀏覽:433
翁虹電影大全 瀏覽:990