仓酷云

标题: PHP网页编程之在PHP中PDO处理中文乱码成绩的一些增补... [打印本页]

作者: 仓酷云    时间: 2015-2-16 00:24
标题: PHP网页编程之在PHP中PDO处理中文乱码成绩的一些增补...
终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。   我的情况是appsver包,

在网上最常呈现的处理中文乱码显示的代码是:

第一种:PDO::__construct($dsn, $user, $pass, array

(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES"utf8";"));

我试过用第一种办法,可了局是,name字段只显示一个‘C"字符。以后的本该显示中文的中央倒是空白。

了局是如许的:如图1示
PHP网页编程之在PHP中PDO处理中文乱码成绩的一些增补...
登录/注册后可看大图

我是只需处理的:直接将UTF8交换成了GBK,就能够了,即:

PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET

NAMES"GBK";"));

后果图2以下:
PHP网页编程之在PHP中PDO处理中文乱码成绩的一些增补...
登录/注册后可看大图


第二种:PDO::__construct($dsn, $user, $pass);

PDO::exec("SET NAMES "utf8";");

第二种我也在我的情况里测试过,显示后果如图1所示,碰着这类情形,把utf8交换成GBK,就可以显

示了。别的,这里的PDO::在利用的时分用$pdo->取代,固然,这个是个变量,变量称号可以本人界说。

第三种:$pdo->query("set names utf8;");

至于第三种呢,看了下面两种,应当也晓得要吧utf8交换成GBK,也能准确显示了。

这几种我都测试过了。都行。哈哈。别的,我在这里还引见一种处理中文乱码的一种办法,不外迥然不同,

根基和第三种没甚么却别,欠亨的是,这类办法,没用query而是用exec,代码以下:

$pdo->exec("SET CHARACTER SET GBK");

呵呵。怎样啊,这四种办法我都亲身试过了。我是根据自己的成长历程来写的,如有不对的还请指正。
作者: 蒙在股里    时间: 2015-2-16 00:50
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 若相依    时间: 2015-3-4 20:09
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 金色的骷髅    时间: 2015-3-11 20:51
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 再现理想    时间: 2015-3-17 01:11
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 爱飞    时间: 2015-3-23 11:50
做为1门年轻的语言,php一直很努力。
作者: 若天明    时间: 2015-3-29 09:36
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 灵魂腐蚀    时间: 2015-4-3 20:39
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 小魔女    时间: 2015-4-22 05:50
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 小妖女    时间: 2015-4-26 11:10
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 山那边是海    时间: 2015-5-7 21:54
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 活着的死人    时间: 2015-6-21 02:33
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 第二个灵魂    时间: 2015-7-1 21:24
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 不帅    时间: 2015-7-9 01:49
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 因胸联盟    时间: 2015-7-9 16:55
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 愤怒的大鸟    时间: 2015-7-15 04:19
兴趣是最好的老师,百度是最好的词典。
作者: 莫相离    时间: 2015-7-28 21:43
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 海妖    时间: 2015-9-25 01:12
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 透明    时间: 2015-9-27 17:36
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 冷月葬花魂    时间: 2015-10-4 06:29
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2