鐗堟瑠鎵€鏈?寤鸿鎮ㄤ互 IE 5.0 800 X 600 浠ヤ笂楂樺僵妯″紡鐎忚鏈珯这个不是UTF-8的内容吧?原文是什么
下载包里的软件转码的时候符号不能转,所以还是建议伱手动转码吧!! iconv()
iconv (PHP 4 >= 4.0.5, PHP 5)iconv -- Convert string to requested character encoding 说明 string iconv ( string in_charset, string out_charset, string str ) Performs a character set conversion on the string str from in_charset to out_charset.<?php echo iconv("ISO-8859-1", "UTF-8", "This is a test."); ?> PHP手册->索引->iconv
/******************************
//UTF-8 转GB编码
*******************************/
function utf82gb($utfstr)
{
if(function_exists('iconv')){ return iconv('utf-8','gbk',$utfstr); }
global $UC2GBTABLE;
$okstr = "";
if(trim($utfstr)=="") return $utfstr;
if(empty($UC2GBTABLE)){
$filename = dirname(__FILE__)."/date/gb2312-utf8.table";
$fp = fopen($filename,"r");
while($l = fgets($fp,15))
{ $UC2GBTABLE[hexdec(substr($l, 7, 6))] = hexdec(substr($l, 0, 6));}
fclose($fp);
}
$okstr = "";
$ulen = strlen($utfstr);
for($i=0;$i<$ulen;$i++)
{
$c = $utfstr[$i];
$cb = decbin(ord($utfstr[$i]));
if(strlen($cb)==8){
$csize = strpos(decbin(ord($cb)),"0");
for($j=0;$j < $csize;$j++){
$i++; $c .= $utfstr[$i];
}
$c = utf82u($c);
if(isset($UC2GBTABLE[$c])){
$c = dechex($UC2GBTABLE[$c]+0x8080);
$okstr .= chr(hexdec($c[0].$c[1])).chr(hexdec($c[2].$c[3]));
}
else
{ $okstr .= "&#".$c.";";}
}
else $okstr .= $c;
}
$okstr = trim($okstr);
return $okstr;
}
/*******************************
//GB转UTF-8编码
*******************************/
function gb2utf8($gbstr) {
if(function_exists('iconv')){ return iconv('gbk','utf-8',$gbstr); }
global $CODETABLE;
if(trim($gbstr)=="") return $gbstr;
if(empty($CODETABLE)){
$filename = dirname(__FILE__)."/date/gb2312-utf8.table";
$fp = fopen($filename,"r");
while ($l = fgets($fp,15))
{ $CODETABLE[hexdec(substr($l, 0, 6))] = substr($l, 7, 6); }
fclose($fp);
}
$ret = "";
$utf8 = "";
while ($gbstr) {
if (ord(substr($gbstr, 0, 1)) > 0x80) {
$thisW = substr($gbstr, 0, 2);
$gbstr = substr($gbstr, 2, strlen($gbstr));
$utf8 = "";
@$utf8 = u2utf8(hexdec($CODETABLE[hexdec(bin2hex($thisW)) - 0x8080]));
if($utf8!=""){
for ($i = 0;$i < strlen($utf8);$i += 3)
$ret .= chr(substr($utf8, $i, 3));
}
}
else
{
$ret .= substr($gbstr, 0, 1);
$gbstr = substr($gbstr, 1, strlen($gbstr));
}
}
return $ret;
}
//Unicode转utf8
function u2utf8($c) {
for ($i = 0;$i < count($c);$i++)
$str = "";
if ($c < 0x80) {
$str .= $c;
} else if ($c < 0x800) {
$str .= (0xC0 | $c >> 6);
$str .= (0x80 | $c & 0x3F);
} else if ($c < 0x10000) {
$str .= (0xE0 | $c >> 12);
$str .= (0x80 | $c >> 6 & 0x3F);
$str .= (0x80 | $c & 0x3F);
} else if ($c < 0x200000) {
$str .= (0xF0 | $c >> 18);
$str .= (0x80 | $c >> 12 & 0x3F);
$str .= (0x80 | $c >> 6 & 0x3F);
$str .= (0x80 | $c & 0x3F);
}
return $str;
}
//utf8转Unicode
function utf82u($c)
{
switch(strlen($c)) {
case 1:
return ord($c);
case 2:
$n = (ord($c[0]) & 0x3f) << 6;
$n += ord($c[1]) & 0x3f;
return $n;
case 3:
$n = (ord($c[0]) & 0x1f) << 12;
$n += (ord($c[1]) & 0x3f) << 6;
$n += ord($c[2]) & 0x3f;
return $n;
case 4:
$n = (ord($c[0]) & 0x0f) << 18;
$n += (ord($c[1]) & 0x3f) << 12;
$n += (ord($c[2]) & 0x3f) << 6;
$n += ord($c[3]) & 0x3f;
return $n;
}
}
/**********************************
//Big5码转换成GB码
**********************************/
function big52gb($Text) {
if(function_exists('iconv')){ return iconv('big5','gbk',$Text); }
global $BIG5_DATA;
if(empty($BIG5_DATA)){
$filename = dirname(__FILE__)."/date/big5-gb.table";
$fp = fopen($filename, "rb");
$BIG5_DATA = fread($fp,filesize($filename));
fclose($fp);
}
$max = strlen($Text)-1;
for($i=0;$i<$max;$i++) {
$h = ord($Text[$i]);
if($h>=0x80) {
$l = ord($Text[$i+1]);
if($h==161 && $l==64) {
$gbstr = " ";
}else{
$p = ($h-160)*510+($l-1)*2;
$gbstr = $BIG5_DATA[$p].$BIG5_DATA[$p+1];
}
$Text[$i] = $gbstr[0];
$Text[$i+1] = $gbstr[1];
$i++;
}
}
return $Text;
}
/********************************
//GB码转换成Big5码
*********************************/
function gb2big5($Text) {
if(function_exists('iconv')){ return iconv('gbk','big5',$Text); }
global $GB_DATA;
if(empty($GB_DATA)){
$filename = dirname(__FILE__)."/date/gb-big5.table";
$fp = fopen($filename, "rb");
$gb = fread($fp,filesize($filename));
fclose($fp);
}
$max = strlen($Text)-1;
for($i=0;$i<$max;$i++) {
$h = ord($Text[$i]);
if($h>=0x80) {
$l = ord($Text[$i+1]);
if($h==161 && $l==64) {
$big = " ";
}else{
$p = ($h-160)*510+($l-1)*2;
$big = $GB_DATA[$p].$GB_DATA[$p+1];
}
$Text[$i] = $big[0];
$Text[$i+1] = $big[1];
$i++;
}
}
return $Text;
}
?>
iconv()
iconv
(PHP 4 >= 4.0.5, PHP 5)iconv -- Convert string to requested character encoding
说明
string iconv ( string in_charset, string out_charset, string str )
Performs a character set conversion on the string str from in_charset to out_charset.<?php
echo iconv("ISO-8859-1", "UTF-8", "This is a test.");
?> PHP手册->索引->iconv
echo iconv("UTF-8","gb2312//TRANSLIT", $str);
echo iconv("UTF-8","GB2312//IGNORE", $str);
echo iconv("UTF-8","GBK", $str);显示如下
版所?建您以 IE
还要什么 参数,或别的方法
版權所?建議您以 IElinux虚拟主机采用CentOs5.2操作系统,可能是系统的问题,楼上的是什么操作系统,配置说一下
这个肯定能行,你是不是在试试?
你也可以网页的编码不该,只改php输出。header("Content-type: text/html;charset=utf8");总之只要两者的编码都相同即可。
header()放在最开始也行,放在输出的开始处也行。建议是放在代码的开头处。
就看你的PHP代码是混在网页里,还是单独存在的.