Php MySQL数据库中特殊字符的json_编码
我需要将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。如何做到这一点取决于您使用的库
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,但它会截断特殊字符