1. php程序usc2編碼如何轉換成ansi簡體中文編碼
給個轉碼的方法給你吧! 你可以自己修改$outEncoding的參數,下面的方法默認是轉換為gb2312的字元集了,你調用方法就可以將你的字元串轉換字元
//中文字元編碼轉換
public function safeEncoding($string,$outEncoding ='GB2312')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二個位元組判斷通過
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
2. 如何用 PHP 搞定中文字元編碼問題
iconv()函數
-------------------
iconv("UTF-8","GB2312//IGNORE",$a)
將$a中的中文字元從UTF-8轉到哦GB2312
3. php程序utf-8編碼如何轉換成gbk簡體中文編碼
給個轉碼的方法給你吧! 你可以自己修改$outEncoding的參數,下面的方法默認是轉換為gb2312的字元集了,你調用方法就可以將你的字元串轉換字元
//中文字元編碼轉換
public function safeEncoding($string,$outEncoding ='GB2312')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二個位元組判斷通過
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
4. PHP怎麼把經過UTF-8編碼的中文字元轉換成正常的中文
首先,UTF-8編碼的中文字元也是正常的。
如果你認為 gb2312 才「正常」, 可以這樣:
$utf8_str = '中文'; // 注意這兒得是 UTF-8 編碼的字元串
$gb2312_str = mb_convert_encoding($str, 'GB2312', 'UTF-8');
%E5%90%89%E6%9E%97
有人已經回答了,
用 urldecode 就行了。
5. PHP如何把數組里的中文Unicode轉換成Utf-8編碼
最簡單的:
$str = iconv("gbk", "utf-8//ignore", $str);
或者:
$str = mb_convert_encoding($str, "utf-8", "gbk");
稍微解釋一下 //ignore 的意思是轉換不了的字元就忽略。建議把這個寫上。否則遇到轉換不了的字元會報錯。gbk替換成你需要轉換的編碼就可以了。
6. php 將中文轉換為GBK編碼
1、運行控制台,程序->運行,輸入CMD,點擊確定進入DOS操作系統 快捷鍵windows鍵+R鍵。
7. php 編碼轉換
URLEncode:是指針對網頁url中的中文字元的一種編碼轉化方式,最常見的就是Bai、Google等搜索引擎中輸入中文查詢時候,生成經過Encode過的網頁URL。
URLEncode的方式一般有兩種,一種是傳統的基於GB2312的Encode(Bai、Yisou等使用),另一種是基於UTF-8的Encode(Google、Yahoo等使用)。
本工具分別實現兩種方式的Encode與Decode:
中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> UTF-8的Encode -> %E4%B8%AD%E6%96%87
我們可以用以下代碼實現轉換:
<?php echo urlencode('測試');?>
如果是gb2312編碼,轉換的結果為"%B2%E2%CA%D4";
如果是utf-8編碼,轉換的結果為"%E6%B5%8B%E8%AF%95";
希望我的回答你能滿意啊!呵呵!
8. PHP 轉換中文為編碼
給個轉碼的方法給你吧! 你可以自己修改$outEncoding的參數,下面的方法默認是轉換為gb2312的字元集了,你調用方法就可以將你的字元串轉換字元
//中文字元編碼轉換
public function safeEncoding($string,$outEncoding ='GB2312')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二個位元組判斷通過
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
9. 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;」); //**設置字元集***