mysql查询问题

时间:2011-09-11 10:47:50

标签: php mysql utf-8 character-encoding

我有一个小问题:

我通过ajax接收了几个参数并进行了sql查询。很简单,但是这个查询有一些特殊的字符(巴西),我的查询看起来就像那样(因为我做了一个回声):

SELECT neigh 
FROM address_bd 
WHERE 
  state ="AL" 
  AND city ="Maceió" 
GROUP BY neigh 
ORDER BY neigh ASC

并且在脚本中是:

$sql = "
  SELECT neigh 
  FROM address_bd 
  WHERE state =\"$state\" 
    AND city =\"$city\" 
  GROUP BY neigh 
  ORDER BY neigh ASC
  ";

在phpmyadmin中运行它会返回正确的结果,但在脚本中会得到0结果。 我的sql行有utf8_general_ci。有谁有想法吗?谢谢。

这是响应:

SET character_set_client = utf8;

这解决了这个问题。谢谢大家,特别是Inca发送链接。再次感谢您

2 个答案:

答案 0 :(得分:1)

在数据库连接运算符之后,您应该为数据库驱动程序安装mysql_set_charset(charset);或相应的运算符。

charset应代表HTML网页的实际字符集。

答案 1 :(得分:0)

也许试试这个:

$sql = "SELECT neigh FROM address_bd WHERE state = '$state' AND city = '$city' GROUP BY neigh ORDER BY neigh ASC";

如果仍然无效,请在mysql_query函数

之后添加
print mysql_error();

并告诉此处错误消息内容。