PHP教程之PHP JSON中文乱码处理办法大全
如果你单纯是为了做网站赚钱,我想你还是别学php的好,去学ASP,JSP好了,毕竟它们有实力雄厚的公司去支持它们。 咱们晓得在利用Ajax手艺与PHP后台交互时,中文乱码是常有的事,JSON作为与XML相似的数据互换格局,在PHP用来停止交互时也会呈现中文乱码的情形,处理PHP JSON中文乱码的办法思绪其实与PHP Ajax传值中文字符乱码的处理办法相似,上面我以教程模式具体引见下处理PHP JSON中文乱码的办法。为何PHP与JSON交互时会呈现中文乱码?
因为JSON与JS一样,关于客户真个字符是以UTF8的模式处置,即JSON提交或承受前往的字符是以UTF8模式处置,当与PHP交互时,假如数据库编码、PHP页面编码不采取UTF8格局时,PHP与JSON交互时中文就会发生乱码。
处理PHP JSON中文乱码的办法
在晓得了PHP与JSON交互发生中文乱码的缘由后处理的办法其实就复杂良多。
处理PHP JSON中文乱码办法一:包管数据库、前后台PHP页面编码分歧
最简答的处理PHP JSON中文乱码的办法就是包管数据库编码、PHP页面编码一致采取UTF8格局,关于PHP入门进修者来讲建站时数据库最好利用UTF8格局,可削减很多费事。
处理PHP JSON中文乱码办法二:设置装备摆设利用PHP函数urlencode与JS函数decodeURI()
当PHP利用JSON与前台JS交互时,在利用json_encode函数之前需求利用urlencode函数停止URL编码,在JS客户端经由过程JS函数decodeURI()停止URL解码后再读取中文信息。
注重:当在PHP页面中经由过程JSON停止交互,好比将数组转换成JSON格局时,起首请利用urlencode函数对数组key和value停止URL编码然后再利用json_encode函数和urldecode函数。
处理PHP JSON中文乱码办法三:利用字符串编码转换函数
当因为各类缘由,数据库编码、PHP页面编码纷歧致时,好比现有的数据库编码利用GB2312,这时候在利用JSON交互时,就需求利用字符串编码转换函数停止字符集之间的转换。经常使用的函数有iconv,因为iconv需求PHP设置装备摆设情况撑持,假如不撑持,你可以经由过程自行编写gbk与UTF8编码转换函数完成编码转换,详细可参考PHP Ajax传值中文字符乱码处理教程。
至此,PHP JSON中文字符乱码的三种处理办法就引见完了,其其实PHP开辟中,碰到相似PHP与AJAX/JS停止交互,发生中文乱码时根基都是利用这些办法,思绪是相似的。
注:PHP网站开辟教程-leapsoul.cn版权一切,转载时请以链接模式注明原始出处及本声明,感谢。
到现在,对排版还是不很熟练,经常会排不好。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 基础有没有对学习php没有太大区别,关键是兴趣。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 实践是检验自己会不会的真理。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 实践是检验自己会不会的真理。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 爱上php,他也会爱上你。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
页:
[1]
2