php获取网站源码分享乱码(php网站源码)

大家好,今天给各位分享php获取网站源码分享乱码的一些知识,其中也会对php网站源码进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

字符集utf-8gb2312gbk在所有程序中不区分大小写,推荐小写

<metahttp-equiv=&34;content=&34;/>

通过iconv函数实现编码转换

iconv(stringin_charset,stringout_charset,stringstr)

如:iconv(&34;,&34;,$text);

注意:如果网页编码与参数out_charset相同,就没必要用iconv()函数,否则就会出现不可预知的错误(如中文汉字转不出来)

如:imagettftext()函数只支持utf-8字符集

header(&34;);

连接数据库:mysql_query(&34;)

<?php

$conn=mysql_connect(&34;,&34;,&34;)ordir(&34;.mysql_error());//连接数据库服务器

mysql_select_db(&34;,$conn)ordie(&34;.mysql_error());//连接db_database18

mysql_query(&34;);//设置数据库编码格式

?>

避免截取中文字符串时出现乱码

stringmb_substr(stringstr,intstart[,intlength[,stringencoding]])

设置数据库默认字符集和校对方式:

CREATETABLE[IFNOTEXISTS]表名称type=myisamdefaultcharactersetgbkcollategbk_chinese_ci;

CREATETABLE[IFNOTEXISTS]表名称type=myisamdefaultcharactersetutf8collateutf8_general_ci;

处理中文字符

对于以上的字符串函数,有些可以用于中文,但有些却不适用中文。

所以,PHP提供了专门的函数来解决这样的问题。

中文字符集可以是gbk,utf8,gb2312

mb_strlen()对应的函数为strlen()求字符串的长度

mb_strstr()对应的函数为strstr()求某字符串到结尾的字符

mb_strpos()对应的函数为strpos()求出字符最先出现处

mb_substr()对应的函数为substr()取出指定的字符串

mb_substr_count()对应函数为substr_str()返回字符串出现的次数

iconv_strlen()对应的函数为strlen()求字符串的长度

iconv_strpos()对应的函数为strpos()求出字符最先出现处

iconv_substr()对应的函数为substr()求某字符串到结尾的字符

iconv_strrpos()对于的函数为substr()查找字符串在一个字符串中最后出现的位置

详细可参考手册国际化与字符编码支持|多字节字符串

国际化与字符编码支持|iconv

实例:

<?php

setlocale(LC_ALL,&39;);//设置为美式英语

echostrftime(&34;,time());//输出当前时间

echo&34;;

setlocale(LC_ALL,&39;);//设置为中文

$dates=strftime(&34;,time());//输出当前时间

echoiconv(&34;,&34;,$dates);//输出经过编码格式转换后的中文时间

?>

注意:

内容编码(页面声明的字符集)与文件编码(文件本身的字符集)要求一致,否则会出现乱码;

记事本的默认字符集为:ANSI,为了避免不必要的错误,尽量避免用记事本新建文件;

window记事本编辑器如果保存为utf-8文件就会帮你加上BOM头;在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,

现在已经有很多软件识别BOM头,但是还有些软件不能识别BOM头,比如PHP就不能识别BOM头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。

如要清除文件BOM头

请见PHP|实例|文件|自动去除文件BOM代码

推荐文本编辑器:NotePad++

phpDesigner8软件中如果有php文件中有Bom头,则有&34;选项,将其选项去掉,则去掉了BOM头信息

下面以utf-8为例,说明如何统一编码.

1.将网页文件的编码保存为utf-8无BOM

记事本,保存文件的时候选择&34;为utf-8

editPlus,保存时选择&34;为utf-8

Notepadd++,按ctrl+A全选当前文档,选择菜单栏的Encoding–>ConverttoUTF-8withoutBOM

UEStudio,保存时选择&34;为utf-8无BOM其他软件请根据情况操作

2.在PHP页面的<?php?>标签对之间使用header(&39;);声明页面编码为utf-8

在html头部(<head>和</head>之间)写入<metahttp-equiv=&34;content=&34;/>来声明页面编码为utf-8

3.PHP页面中连接数据库服务器后执行sql查询前使用以下代码先将字符集设置为utf-8

以下方案任选一种,其中$myqli和$pdo是创建的mysqli和pdo类的对象实例

mysql_query(&39;);//mysql扩展

mysqli_query(&39;);//mysqli扩展

$mysqli->query(&39;);//mysqli扩展

$pdo->exec(&39;);//PDO扩展

4.创建数据表的时候将默认编码设置为utf8,将字符校对(callate)设置为utf8_general_ci,注意MySQL里面是utf8而不是utf-8

IFNOTEXISTS`name`(

….代码….

)ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_general_ci;

做到这四点,相信你的网页和数据库不会再乱码.

关于php获取网站源码分享乱码的内容到此结束,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平