写代码中遇到的问题(php接收不到传过来的json数据,php使用utf8的用法)

    今天写代码用python处理完数据,传给php服务器后,发现接收不到数据,因为是跨域,所以加了消息头:header(‘Access-Control-Allow-Origin:*‘);但是并没有什么卵用,后来不停地百度,东拼西凑终于找到了解决方案。

方案如下:

    1。传过来的数据要加header头:headers = {‘Content-Type‘: ‘application/json‘}

    2。PHP接收数据时要用:$GLOBALS[‘HTTP_RAW_POST_DATA‘]。

      原因如下:  $_POST:通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。  PHP默认只识别application/x-www.form-urlencoded标准的数据类型,也就是可以正常接受的post数据。

            如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败!故保留原型,交给$GLOBALS[‘HTTP_RAW_POST_DATA‘] 来接收。

php接收到数据以后,上传mysql后发现中文乱码,在PHP中加入header("Content-type: text/html; charset=utf-8");mysql中设置字符集utf-8也无效,后来发现是pdo没有设置中文编码,加上以后,遂成功。

另附

  utf-8的使用方法

“UTF-8”是标准写法,php在Windows下边英文不区分大小写,所以也可以写成“utf-8”。“UTF-8”也可以把中间的“-”省略,写成“UTF8”。一般程序都能识别,但也有例外(如下文),为了严格一点,最好用标准的大写“UTF-8”。

数据库中只能使用“utf8”(MySQL) 在mysql的命令模式中只能使用“utf8”,不能使用“utf-8”,也就是说在PHP程序中只能使用“set
names utf8(不加小横杠)”,如果你加了“-”此行命令将不会生效,但是在php中header时却要加上“-”,因为IE不认识没杠的“utf8”,原因见下文。

PHP中的header:

<?php header(‘Content-Type: text/html; charset=UTF-8‘); ?> //奇怪了:Content-Tyep用冒号,Chatset却是等号。

静态文件使用:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

总结:【只有在MySQL中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”。】

时间: 2024-11-10 19:51:41

写代码中遇到的问题(php接收不到传过来的json数据,php使用utf8的用法)的相关文章

SpringMVC中出现&quot; 400 Bad Request &quot;错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法

最近angularjs post到后台 400一头雾水 没有任何错误. 最后发现好文,感谢作者 SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法 今天开发过程中,在SpringMVC中的Action中处理前台ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request,后台也不报错,400指的的是请求无效(请求有语法问题或者不能满足请求),调试了好长时间

ajax接收返回二维数组的json数据后显示为null

前端ajax如下: > $.ajax({url:'http://xxxx.com/action.php',//路径type:'post',data:{id:0}dataType:'json',success:function(data){console.log(data);}action.php如下:<?phpinclude "con_db.php";//连接数据库$id = $_POST['id']:$sql="select * from note where

动力之源:代码中的“泵”

相关文章连接: 编程之基础:数据类型(一) 编程之基础:数据类型(二) 高屋建瓴:梳理编程约定 完整目录与前言 动力之源:代码中的"泵"     10.1 "泵"的概念    215 10.1.1 现实生活中的"泵"    215 10.1.2 代码中的"泵"    216 10.1.3 代码中"泵"的作用    218 10.2 常见"泵"结构    219 10.2.1 桌面GUI框

开始写代码了:“Hello World”

1.先来了解一下写代码的流程1)创建xxx.py的文件 (注意文件不要以中文命名,否则导入的时候会出现不可预知的错误.)2)写代码 a.头部两行 :#!User/bin/env python                        # -*- coding:utf-8 -*- b.写功能代码3)执行代码 a.打开执行终端 (快捷键:功能键+R) b.python 代码文件路径 2.写第一个代码:hello world: >>>print("Hello World"

如果40岁了还在写代码,是一种幸福,还是一种悲哀?

今天突然想到一个问题:如果40岁了还在写代码,是怎样的状态? 然后搜了一下,果然已经有人想到了,我们先来看看知乎的神人回答. 曾经有网友在知乎提问:"如果 40 岁了还在写代码,是一种幸福,还是一种悲哀?请考虑国情,别老拿外国作比方." 下面是其他一些知乎网友的回复: 马上就 40 了,依然在写代码,写各种代码,从C/C++写到 object-c,从 java 写到 lua,乐在其中,享受得很. 当然,我现在基本不是依靠写代码挣钱谋生,事实上,我也几乎也没有纯粹依赖过写代码谋生过.写代

程序员如何像写代码一样找女朋友

在程序员的世界里,妹子是稀有动物,女神就更是凤毛麟角了,大部分程序员由于经常面对电脑,缺乏与人的沟通交流,加上软件行业的工作特殊性,因此找女朋友更是难上加难.那么,程序员如何用自己的方法去追求心仪的女生呢?有这个冲动的朋友请继续看下去. 1.需求分析 根据自己的性格特点.经济实力,合理定位:适合自己的女性范围,也就是软件工程里常谈到:需求分析.自己最想找什么样的女孩,譬如:身高在什么范 围,年龄在什么范围,学历在什么范围,相貌有什么要求,对性格有什么偏好,喜静还是偏活泼.你越能更多了解自己,知道

40 岁了还在写代码,是一种幸福,还是一种悲哀?

天光,一檐停风聚天下闲士 半阁藏卷窃古今名家 马上就40了,依然在写代码,写各种代码,从C/C++写到object-c,从java写到lua,乐在其中,享受得很. 当然,我现在基本不是依靠写代码挣钱谋生,事实上,我也几乎也没有纯粹依赖过写代码谋生过.写代码只是一种乐趣,一种爱好. 当然,难道是写代码谋生就一定是痛苦的吗?也未必. 公司有两个同事,都是非常棒的程序员,也是成熟的架构师,一位是77年的,一位是78年的,他们主要的工作内容都是写代码,他们也都乐在其中,事实上,如果不出意外,他们能够在公

分享:40 岁了还在写代码,是一种幸福,还是一种悲哀?

马上就40了,依然在写代码,写各种代码,从C/C++写到object-c,从java写到lua,乐在其中,享受得很. 当然,我现在基本不是依靠写代码挣钱谋生,事实上,我也几乎也没有纯粹依赖过写代码谋生过.写代码只是一种乐趣,一种爱好. 当然,难道是写代码谋生就一定是痛苦的吗?也未必. 公司有两个同事,都是非常棒的程序员,也是成熟的架构师,一位是77年的,一位是78年的,他们主要的工作内容都是写代码,他们也都乐在其中,事实上,如果不出意外,他们能够在公司里继续留下一起合作,我想他们会一直写代码写到

程序员自我修练-提高写代码的能力(转)

首先让我们看一看刚入软件公司会出现的情况: 1. 你可能会常常发现,写了一段代码后,编译程序时是一大堆的出错 (原因:语法不熟) --别担心,这是每个程序员必须经历的事,这时候你就需要更大的耐心及细心, 对每一行代码进行仔细人阅读并改正,这个很重要,这可以培养你的理解代码能力,所以要常读程序,不要等到程序运行以后才知道你的程序的结果. --如何避免:在写代码以前,要认真的学习计算机语言的语法,如关键点,易错点,易忘点.同时要自已动手写自已的测试代码,而尽量不要抄别人的代码示例.即使抄,在学习阶段