Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
utf8、php和mysql的问题_Php_Mysql_Utf 8_Twitter - Fatal编程技术网

utf8、php和mysql的问题

utf8、php和mysql的问题,php,mysql,utf-8,twitter,Php,Mysql,Utf 8,Twitter,我正在从twitter获取JSON时间线,并通过PHP对其进行解析。 然后我想将文本存储在我的数据库中 PHP脚本采用UTF8格式,我使用以下代码将标题设置为UTF8,以防万一: header('Content-type: text/html; charset=UTF-8'); 数据库中的表使用utf8\u general\u ci 甚至使用utf8_encode()对文本进行编码都不起作用。 我不断地得到混乱的字符,比如“autodestroiçÃo” 有人知道我做错了什么吗?在传递JSO

我正在从twitter获取JSON时间线,并通过PHP对其进行解析。 然后我想将文本存储在我的数据库中

PHP脚本采用UTF8格式,我使用以下代码将标题设置为UTF8,以防万一:

header('Content-type: text/html; charset=UTF-8');
数据库中的表使用utf8\u general\u ci

甚至使用utf8_encode()对文本进行编码都不起作用。 我不断地得到混乱的字符,比如
“autodestroiçÃo”

有人知道我做错了什么吗?

在传递JSON数据时使用
utf8\u decode()
utf8\u encode()
方法


您可能还需要将数据库连接设置为UTF-8

在建立连接后(插入任何数据之前),尝试将此查询发送到服务器:


如果这不起作用,请显示用于获取数据的脚本。

您是否1000%确定错误发生在获取数据时,而不是显示数据时?您是如何从数据库中获取值的?因为在浏览器中回显数据看起来是应该的,但是通过phpMyAdmin查看插入的记录却没有,所以我认为这一定是数据库的问题。你的“SET NAMES utf8”查询成功了。我不明白:这会发送一个标题,告诉浏览器以下内容是UTF-8,但随后会发送ISO-8859-1编码的数据?为什么?就是这样。但是如何在数据库中将其设置为默认值?@skerit使用
--default character set
mySQL配置选项:
header('Content-type: text/html; charset=UTF-8');
echo utf8_decode($json_string);
SET NAMES utf8;