Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Php MySQL数据库中特殊字符的json_编码_Php_Mysql_Json_Utf 8 - Fatal编程技术网

Php MySQL数据库中特殊字符的json_编码

Php MySQL数据库中特殊字符的json_编码,php,mysql,json,utf-8,Php,Mysql,Json,Utf 8,我需要将MySQL查询的结果编码为JSON格式 我的数据库正在编码utf8\u unicode\u ci 特别是,我在数据库中存储了一些特殊的字符(例如€),当我应用PHP函数json\u encode时,这些字符会产生一个空值 如何修复此问题?我盲目猜测您的MySQL数据库连接未设置为UTF-8,这导致即使源数据库为UTF-8,也会返回ISO-8859-1字符 因为它们在UTF-8字符集中无效,json\u encode() 您可能需要将连接编码设置为UTF-8。如何做到这一点取决于您使用的库

我需要将MySQL查询的结果编码为JSON格式

我的数据库正在编码
utf8\u unicode\u ci

特别是,我在数据库中存储了一些特殊的字符(例如€),当我应用PHP函数
json\u encode
时,这些字符会产生一个空值


如何修复此问题?

我盲目猜测您的MySQL数据库连接未设置为UTF-8,这导致即使源数据库为UTF-8,也会返回ISO-8859-1字符

因为它们在UTF-8字符集中无效,
json\u encode()

您可能需要将连接编码设置为UTF-8。如何做到这一点取决于您使用的库

mysql.*
函数系列中,一种方法是

mysql_query("SET names utf8;");
或者在MySQL>5.0.7中,新的

mysql_set_charset("utf8");

相关人士:谢谢。我尝试用函数“mysql\u set\u charset”设置字符集,但现在他截断了特殊的chars@Dany你试过第一个吗?是的,我试过了!我还尝试应用php函数iconv,但它会截断特殊字符