页面编码统一 

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。
1、MySQL数据库编码:建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。
数据库连接时,也有编码,可以在连接完数据库后,执行
mysql_query(‘SET NAMES gbk’);//将gbk换成你的编码,如utf8。
2、html页面的编码,指的是这一行的设置:
<meta http-equiv=”Content-Type” content=”text/html; charset=gbk” />
3、PHP或html文件本身的编码:用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

4、另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。
iconv(‘utf-8′, ‘gbk’, $content);
5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:
header(‘Content-type: text/html; charset=gbk’);

php页面编码 

1.在文件头中设置编码
<?php
@header(‘Content-type: text/html;charset=UTF-8′);
>?
2.没用过header,这样设置不知道和<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>有什么区别,跟浏览器查看有什么关系??? [/quote]
他们都是告诉浏览器用什么编码显示网页,要说有什么不同,一个是发送原始 HTTP 标头,不在网页中留下什么,而你说的这个是写在网页中。
其一,如果网页中没有你写的这个,那么发送 HTTP 标头就起作用了。
其二,用header()函数发送原始 HTTP 标头,可以包含更多内容,设置编码只是其中之一。
其三,有些时候不要网页显示什么内容,但要通知浏览器用什么编码来进行后续动作。
3
<?php
//此函数判断一个字符串是否是中文字符
function chkGB($str){
if   (preg_match(“/^[".chr(0xa1)."-".chr(0xff)."]+$/”, $str)) {
   return true;
} else {
   return false;
}
}
//if(chkGB(‘的’)){
// echo ‘你好’;
//}else{
// echo “不好”;
//}
function tep_limit_string($str_show,$length,$post_string=’…’){
$mn_curr=0;
$str_output=”;
$str_show=trim($str_show);
for ($i=0;$i<strlen($str_show);$i++){
   $str_tmp=substr($str_show,$i,1);
//   echo [...

 

 

PHP 页面编码声明与用header或meta实现PHP页面编码的区别
 
 

  3、PHP或html文件本身的编码:用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

  4、另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。 
iconv('utf-8', 'gbk', $content); 

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码: 
header('Content-type: text/html; charset=gbk');
 
1.file_get_contents 
PHP代码
代码如下:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?php
$url = "http://www.jb51.net";
$contents = file_get_contents($url);
//如果出现中文乱码使用下面代码
//$getcontent = iconv("gb2312", "utf-8",$contents);
echo $contents;
?>

2.curl
PHP代码
代码如下:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?php
$url = "http://www.jb51.net";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//在需要用户检测的网页里需要增加下面两行
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
?>

3.fopen->fread->fclose
PHP代码
代码如下:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?php
$handle = fopen ("http://www.jb51.net", "rb");
$contents = "";
do {
$data = fread($handle, 1024);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
fclose ($handle);
echo $contents;
?>

注意:
1.使用file_get_contents和fopen必须空间开启allow_url_fopen。方法:编辑php.ini,设置allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。
2.使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩展。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-05
  • 2021-10-08
  • 2022-01-02
  • 2022-12-23
猜你喜欢
  • 2022-03-06
  • 2022-01-11
  • 2021-07-30
  • 2022-02-19
  • 2021-12-28
相关资源
相似解决方案