Php MySQL在更改编码后抛出错误
可能重复:Php MySQL在更改编码后抛出错误,php,mysql,character-encoding,Php,Mysql,Character Encoding,可能重复: 我有以下php代码 <?php mysql_connect("localhost","admin","***"); mysql_select_db("DbName"); $sql=mysql_query("select * from `menu`"); while($row=mysql_fetch_assoc($sql)) $output[]=$row; print(json_encode($output)); mysql_close(); ?> 我的猜测是,您的数据
我有以下php代码
<?php
mysql_connect("localhost","admin","***");
mysql_select_db("DbName");
$sql=mysql_query("select * from `menu`");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>
我的猜测是,您的数据库连接仍然是ISO-8859-1,而
json\u encode()
需要UTF-8数据(如果遇到无效字符就会中断)
连接到数据库后,尝试发送以下查询:
如果您使用的是mySQL<5.0.7:
mysql_query("SET NAMES utf8;");
如果您使用的是较新的mySQL:
mysql_set_charset("utf8");
我的猜测是,您的数据库连接仍然是ISO-8859-1,而
json\u encode()
需要UTF-8数据(如果遇到无效字符就会中断)
连接到数据库后,尝试发送以下查询:
如果您使用的是mySQL<5.0.7:
mysql_query("SET NAMES utf8;");
如果您使用的是较新的mySQL:
mysql_set_charset("utf8");
请不要用“不工作”来描述你的问题。请始终准确描述发生的情况。警告:mysql\u fetch\u assoc()希望参数1是资源,布尔值在中给出,注意:未定义变量:以上两种情况下的输出请不要描述“不工作”的问题。请始终准确描述发生的情况。警告:mysql\u fetch\u assoc()希望参数1是资源,在中给出布尔值,注意:未定义变量:以上两种中的输出