你文件用utf8., 数据库用gb2312你说能登录上吗???php mysql 编码统一!才不易出现中文乱码或者其他等等问题!中文在不同编码下, 字节是不同的!而英文和数字,则不存在编码问题!
我是一个完完全全的小白,学历几乎为0.这种资质可以有机会学PHP,我是知足的。第一,学生和学生不一样,学习时间,理解程度,学完后的用途各不相同。第二,培训机构各不相同,总体上还是能排在中上,能有这么多免费资源给你的网站不多,尤其是详细的视频。看看现在已知的培训机构的收费标准,师资,性价比还是挺高的。第三,我也是一个学员,不是水军,PHP中文网耗费大量人力财力,仅仅为了闹着玩吗,好像不是,看待问题要多方考虑,遇到问题多想解决办法,怨天尤人无用。学得好的,遇到的问题不会比你少。第四,优秀的人其实只有两个优势,对想要做的事情的执著和解决问题的方法。第五,没有任何一个教育或者培训机构能够让他的学生达到他所想达到的,只能提供最大的帮助。想想初心,真正努力去实现它,奔跑吧,骚年,这个才有用。
PHP中文乱码主要是编码不对,存在以下两种情况,你以此检查一下 ,改对编码就行了1、 php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。 b. 如果欲使用utf-8编码,那么php要输出头 :header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用 session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总 是删除,再保存就可以去掉BOM信息了。2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
估计你的数据库版本太高,你把你的文件另存为,看下编码方式,选择UTF-8的编码方式,然后把这句话 mysql_query("set names GB2312"); 修改为:mysql_query("set names UTF8");再在<title>之前增加<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />就可了注意:网页的编码方式一定要和数据库的编码方式相同才可以
多语言网站解决方案 php 前言:多语言网站开发,重点的还是在解决语言之间的问题。那如何解决这个问题呢?大概就分三步走:1.页面多语言2.数据库多语言3.用户访问语言统一1.页面多语言需要考虑的问题:A.用户登陆时候,自动识别字符,调用不同的语言包?B.用户切换不同语言时候,调用不同的语言包?C.增加多语言后的目录结构?页面多语言也就是外观的多语言化,这里可以采用静态的语言包的方式。设计时候就应该包括language的目录,针对不同语言有独立的子目录。如英文language/en ,简体中文language/gb,繁体中文language/b5 (可以扩展其他语言)每个目录下就包含了对每个页面的语言版本。选择语言版本时候就可以调用相应版本的语言包。具体做法:0.利用js语言,识别浏览器语言,在调用不同的语言包.1.language/en/global.ln是针对英文版的全局语言包。2.global.ln 内容为:$title = "English webstie";$charset = "UTF-8";3.index.php调用:<?php require_once()?>;<html>;<head>;<title>;$title<title>;<meta http-equiv="content-type" content="text/html;charset=$charset">;</head>;<body>;</body>;</html>;这样通过扩展就可以实现页面的多语言化.2.数据库多语言这个考虑的问题:A.后台录入数据的多语言化?B.用户在不同版本下,提交的内容,如何保存?C.提供三种语言包,还是提供英文和简体,简体通过转化提供繁体?数据库多语言就是达到多语言在数据库里面的统一。就需要采用utf-8统一编码。无论什么语言的文字,都统一使用utf-8来存放到数据库里面。采用表字段来表识属于什么语言版本的文字。具体:A.对于后台添加的问题:1.后台添加时候,就需要多语言化的录入。先建立一个以utf-8编码的数据库,录入英文/简体,简体在通过转化为繁体,再以utf-8编码方式存于数据库中。2.建立以utf-8为编码的表结构,importlanguage标识属于什么语言版本但在某个版本下,就搜索属于这个版本的文字来显示。其他文字不显示。DROP TABLE IF EXISTS `zz_importer`;CREATE TABLE IF NOT EXISTS `zz_importer` (`importID` int(11) NOT NULL auto_increment,`importTime` date NOT NULL default '0000-00-00',`improtfile` varchar(100) NOT NULL default '',`importlanguage` varchar(100) NOT NULL default ''PRIMARY KEY (`importID`)) ENGINE=MyISAM DEFAULT CHARSET=uft-8;3.简体转化的繁体。利用php的iconv.此过程对于linux/unix有效,对于windows无效。iconv("GB2312","BIG5",$text);4.因为,charset = "utf-8",数据就都是以utf-8编码方式存在,添加数据时候,要分别用en/gb/big5来标识语言版本.INSERT INTO `zz_importer` VALUES (,'', '', 'en');INSERT INTO `zz_importer` VALUES (,'', '', 'gb');INSERT INTO `zz_importer` VALUES (,'', '', 'big5');B.对于用户添加的问题:1.假设下简体中文下.用户因为页面头为UTF-8.则用户浏览器会以utf-8编码方式浏览页面。2.添加的数据库本身以utf-8方式存在。3.添加数据时候,要分别用gb来标识语言版本INSERT INTO `zz_importer` VALUES (,'', '', 'gb');C.对于简体和繁体是单独提供还是转化问题单独提供 - 比较符合多语言的标准,灵活性大,对ISP没有特别的要求。转化提供 - 提交速度会受影响,同时要ISP提供iconv的函数支持。 3.用户访问语言统一A.假设用户简体中文版时候:<meta http-equiv="content-type" content="text/html;charset=UTF-8">;所有语言版本都是这样。B.调用language/gb的语言包。C.搜索数据库有语言字段为gb的数据,并显示D.当用户提交信息,参照上面数据库多语言的B问题。
用wp,一切搞定。开源,my sql数据库,支持最多38种语言。可以看看这个实例网站,nordata,后缀名是org。
进入php源程序目bai录中的ext目录中,这du里存放着zhi各个扩展模块的源dao代码,选专择你需要的属模块,比如curl模块:cd curl 执行phpize生成编译文件,phpize在PHP安装目录的bin目录下 /usr/local/php5/bin/phpize 运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.,需要安装autoconf: yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux) /usr/local/php5/bin/php -v 执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查!
文件的编码也设成utf-8, 注意要无DOM
<?php $a="你好 你好"; $b="你好 你好"; echo strcmp($a,$b);?> 你可以试试这个函数,输出1相同
你可以试试这个函数,输出1相同 这个可用。不过是输出0相同,输出1不同。我的机子是这样。三楼的没试不过估计好用。谢谢了