phpgb2312轉utf8
❶ php,採集GB2312網頁,怎麼轉成UTF8的
用iconv應該可以。
// 假設變數$contents 含有採集到的內容
$contents=iconv('gbk', 'utf-8', $contents);
❷ 求utf8與gb2312字元編碼互轉的php代碼
function autoCharset($string, $from='gbk', $to='utf-8') {
$from = strtoupper($from) == 'UTF8' ? 'utf-8' : $from;
$to = strtoupper($to) == 'UTF8' ? 'utf-8' : $to;
if (strtoupper($from) === strtoupper($to) || empty($string) || (is_scalar($string) && !is_string($string))) {
//如果編碼相同或者非字元串標量則不轉換
return $string;
}
if (is_string($string)) {
if (function_exists('mb_convert_encoding')) {
return mb_convert_encoding($string, $to, $from);
} elseif (function_exists('iconv')) {
return iconv($from, $to, $string);
} else {
return $string;
}
}else {
return $string;
}
}
$str=autoCharset($str,'gb2312','utf-8');
❸ php 轉碼gb2312->utf8,要怎麼轉呢,謝謝了。
iconv
<?php
$text = "This is the Euro symbol '€'.";
echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>
❹ PHP 用 記事本把gb2312 轉換成UTF-8後的問題
用記事本打開PHP文件進行修改吧,需要特別的耐心哦,因為許多代碼都成為?了,要歡迎是非常困難的,幾乎相當於重新弄一遍
❺ php實現utf-8和GB2312編碼相互轉換函數代碼
復制代碼
代碼如下:
<?php
/********************************************
*
*
函數名:get_utf8_to_gb($value)
*
作
用:utf8編碼字元串轉換成gb2312編碼
*
作
者:劉先忠
*
日
期:2011-11-09
*
********************************************/
function
get_utf8_to_gb($value){
$value_1=
$value;
$value_2
=
@iconv(
"utf-8",
"gb2312//IGNORE",$value_1);//使用@抵制錯誤,如果轉換字元串中,某一個字元在目標字元集里沒有對應字元,那麼,這個字元之後的部分就被忽略掉了;即結果字元串內容不完整,此時要使用//IGNORE
$value_3
=
@iconv(
"gb2312",
"utf-8//IGNORE",$value_2);
if
(strlen($value_1)
==
strlen($value_3))
{
return
$value_2;
}else
{
return
$value_1;
}
}
/********************************************
*
*
函數名:get_gb_to_utf8($value)
*
作
用:gb2312編碼字元串轉換成utf8編碼
*
作
者:劉先忠
*
日
期:2011-11-09
*
********************************************/
function
get_gb_to_utf8($value){
$value_1=
$value;
$value_2
=
@iconv(
"gb2312",
"utf-8//IGNORE",$value_1);
$value_3
=
@iconv(
"utf-8",
"gb2312//IGNORE",$value_2);
if
(strlen($value_1)
==
strlen($value_3))
{
return
$value_2;
}else
{
return
$value_1;
}
}
?>
❻ PHP 解決utf-8和gb2312編碼轉換問題
終於皇天不負有心人,答案還是讓我找到了。
網上的都是這樣用的
復制代碼
代碼如下:
$content
=
iconv("utf-8","gb2312",$content);
這樣做其實也對著了,看著確實是把utf-8轉化為gb2312了,但是實際運行的話,往往都是以失敗告終的,原因呢?
原因實際上也很簡單,因為任何的函數都是執行錯誤的時候,同時很不幸的是iconv();就很終於出現錯誤。現在給你正確的答案。
真正的答案是這樣的
復制代碼
代碼如下:
$content
=
iconv("utf-8","gb2312//IGNORE",$content);
很簡單的,只要後面加上一個//IGNORE就行,加上這個就可以是ICONV()函數忽略錯誤,繼續執行。
同理,要像把gb2312換為utf-8隻要寫上$content
=
iconv("gb2312","utf-8//IGNORE",$content);就行
❼ gb2312轉成utf-8 問題 [php]
gb2312轉成utf-8 是從小字元集轉到大字元集,基本上不會出什麼問題,
iconv('GB2312', 'UTF-8', $str);
或者
mb_convert_encoding($str, 'UTF-8', 'GB2312');
❽ php gb2312轉換UTF-8編碼
<?php
header("Content-Type:text/html; charset=GB2312");//定義頁面編碼方式gb2312
echo urlencode("網路");//gb2312編碼的
echo "<br>";//換行
echo urlencode(iconv('GB2312', 'UTF-8', '網路'));//utf-8編碼的
echo "<br>";
echo urlencode("網路");//還是gb2312編碼的
?>
規定好,頁面編碼後,頁面編碼就是統一不會再改變。
iconv 、mb_convert_encoding 這些函數改變的只是傳入那一個字元串的編碼。
而不是頁面編碼,別搞混了。
header("Content-Type:text/html; charset=GB2312");
才是規定頁面編碼的代碼。
❾ gb2312轉utf8的問題
你看下你的PHP文件本身是什麼編碼格式的,是不是ANSI的,另存成UTF-8的就應該可以了。