導航:首頁 > 編程語言 > phpget亂碼問題

phpget亂碼問題

發布時間:2023-05-24 13:23:40

⑴ 對於php中file_get_contents 中文亂碼有什麼解決方案嗎

解決代碼邏輯如橘睜下
$content = '';
$text = file_get_contents($file);
//$encodType = mb_detect_encoding($text);
define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if (UTF8_BOM == $first3) {
$encodType = 'UTF-8 BOM';
} else if (UTF32_BIG_ENDIAN_BOM == $first4) {
$encodType = 'UTF-32BE';
} else if (UTF32_LITTLE_ENDIAN_BOM == $first4) {
$encodType = 'UTF-32LE';
} else if (UTF16_BIG_ENDIAN_BOM == $first2) {
$encodType = 'UTF-16BE';
} else if (UTF16_LITTLE_ENDIAN_BOM == $first2) {
$encodType = 'UTF-16LE';
}
//下面的判斷主要談肢還是判斷ANSI編碼的·
if ('' == $encodType) {
//即默認創建的txt文本-ANSI編碼的
$content = iconv("GBK", "UTF-8", $text);
} else if ('UTF-8 BOM' == $encodType) {
//本來就是UTF-8不用轉換
$content = $text;
} else {
//其他的格式都轉化為UTF-8就可以了
$content = iconv($encodType, "UTF-8", $text);
} (BY三人含伍世行慕課)

⑵ PHP mysql 如何將從數據中讀入的中文亂碼轉換成中文字元

要解決亂碼首先需要知道出現亂碼的原因:
一、PHP+MySQL出現中文亂碼的原因。
1. MYSQL資料庫的編碼是utf8,與PHP網頁的編碼格式不一致,就會造成MYSQL中的中文亂碼。
2. 使用MYSQL中創建表、或者選擇欄位時設置的類型不是utf8,而網頁編碼不是utf8,也可能造成MYSQL中文亂碼.
3. PHP頁面的字元集與資料庫的編碼不一致。
4. PHP連接MYSQL資料庫,操作是設定的語句指定的編碼和頁面編碼,PHP頁面編碼不一致。
5. 用戶提交的HTML頁面編碼,和顯示數據的頁面編碼不一致 ,就肯定會造成PHP頁面亂碼.
二、解決中文亂碼:
1. 網頁編碼設置。一般在HTML代碼中的文件頭<html>中加入屬性:
<meta http-equiv=」Content-Type」 content=」text/html; charset=utf-8″>
保證,網頁是"utf-8"編碼。
2. PHP代碼設置。在php代碼的開始部分加入以下代碼:
header(」Content-type: text/html;charset=utf-8″);
且要求保存的文件編碼方式是utf-8,這樣就保證了該文件也是utf-8編碼。
3. 資料庫中表的欄位中存儲中文的部分,要設置為utf8_general_ci類型。
4.PHP在連接資料庫操作時,要設置操作的欄位類型為utf8,設置方法如下:
mysql_connect(』localhost』,'user』,'password』);mysql_select_db(』db』);mysql_query(」set names utf8;」); //**設置字元集***

⑶ php file_get_contents亂碼問題

用mb_convert_encoding( $string, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5' ); 轉換編槐鍵塵碼鉛禪,iconv對中文亮陪支持不怎麼好

⑷ jquery ajax get中文請求亂碼問題(php)

function js_unescape($str)
{
$ret = '';
$len = strlen($str);

for ($i = 0; $i < $len; $i++)
{
if ($str[$i] == '%' && $str[$i+1] == 'u')
{
$val = hexdec(substr($str, $i+2, 4));

if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));

$i += 5;
}
else if ($str[$i] == '%')
{
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}

上面這個函數是接收ajax傳過來的參數是調用
使用方法:js_unescape($_GET['通過ajax傳過來的參數']);

function phpescape($str)
{
$sublen=strlen($str);
$retrunString="";
for ($i=0;$i<$sublen;$i++)
{
if(ord($str[$i])>=127)
{
$tmpString=bin2hex(iconv("utf-8","ucs-2",substr($str,$i,2)));
//$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);linux下打開這項
$retrunString.="%u".$tmpString;
$i++;
} else {
$retrunString.="%".dechex(ord($str[$i]));
}
}
return $retrunString;
}

上面這個函數是返回給調用層進行的編碼操作
使用方法:phpescape('你所要輸出的內容');

⑸ 萬網虛擬主機php 腳本GET傳遞變數列印後是亂碼.

<td width="61%" height="25"><a href="1234.php?leibie=中國萬網">添加</a></td>
改成
<td width="61%"碼攜 height="25"><孫信a href="遲凱伏1234.php?leibie=<?=urlencode("中國萬網")?>">添加</a></td>

你需要進行url編碼,然後再解碼才行呢個

⑹ PHP中文亂碼問題

  1. 亂碼一般都是編碼不一致,如果頁面是php直接輸出字元串,最好在前面加上聲明
    header("Content-type:text/html;charset=utf-8");
    如果是html網頁代碼,頁面meta標簽就行:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  2. 注意php頁面是否是utf-8格式,一般代碼編輯器會顯示,如下:

⑺ PHP 接收GET中文亂碼問題

哎,又是亂碼問題,我不多說,直接上代碼

if(!preg_match('/^.*$/u',$_REQUEST['word'])){
$username=iconv('GB2312','UTF-8',$_REQUEST['word']);
}

上面的代碼就是判斷傳來的是數據類型是不是UTF-8編碼,如果不是就轉成轉UTF-8編碼,當然只支持GB2313的,如果傳遞過來的編碼是big5的話也還是出現亂碼,但是一般瀏覽器中人用的大部默認是GB2312或是UTF8的,先用著再說

⑻ php file_get_contents 土豆視頻出亂碼

你用的這個函數由於使用的是高層傳輸協議,很容易超時,即使能夠判斷也因為重試次數太多而無法使用。至於curl函數,則不是為這種應用設計的。最好是使用fsocket函數,不會存在你說的問題。

⑼ 用php的file_get_content函數讀取圖片為什麼得到的字元串是亂碼

讀出來是亂碼是正常的,畢竟圖片是二進制文件,直接寫入文件就可以了,你輸出的時候聲明是圖片的頭就沒問題了

閱讀全文

與phpget亂碼問題相關的資料

熱點內容
蘋果系統轉換安卓系統有什麼麻煩 瀏覽:692
pdf如何拆分成多個pdf 瀏覽:109
廣西dns聯通伺服器地址大全 瀏覽:500
問道端游下載了忘了在哪個文件夾 瀏覽:251
開源phpoa框架 瀏覽:293
惠普511類似文件夾圖標閃動 瀏覽:53
php通訊錄系統 瀏覽:73
javajar包maven 瀏覽:108
仿圖怪獸安卓源碼 瀏覽:977
程序員越來越困 瀏覽:865
女朋友java程序員 瀏覽:338
魔獸世界加密貨幣 瀏覽:783
程序員打卡日記 瀏覽:766
車間壓縮空氣有水怎麼處理 瀏覽:835
java類調用php 瀏覽:476
php時間控制 瀏覽:808
用流程圖表示演算法分類 瀏覽:931
本地git文件夾誤刪除怎麼恢復 瀏覽:748
java快速開發平台開源 瀏覽:996
java實戰從入門 瀏覽:155