SET NAMES命令失败,访问被拒绝

时间:2013-07-22 11:44:18

标签: php mysql unicode utf-8

我正在尝试将重音e插入this example之后的mysql数据库中。使用这个:

mysql_query("SET NAMES 'utf8'");

抛出:

  

警告:mysql_query()[function.mysql-query]:拒绝访问用户'ODBC'@'localhost'

它没有连接到数据库:

DEFINE ('DB_USER', 'user');
DEFINE ('DB_PASSWORD', 'pword');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'test1');
$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

4 个答案:

答案 0 :(得分:9)

不要混用mysql_*mysqli_*函数。而不是

mysql_query("SET NAMES 'utf8'");

使用

$dbc->set_charset('utf8');

答案 1 :(得分:2)

我认为没有问题,您正在使用mysql_query并且正在与mysqli_connect建立联系。

因此,请使用mysqli_query执行查询。

答案 2 :(得分:0)

尝试这样的事情:

$dbc = mysql_connect ('localhost', 'user', 'pword');
mysql_select_db('test1',$dbc);
mysql_query('SET NAMES "utf8"',$dbc);

答案 3 :(得分:-2)

php file设置为UTf-8似乎有效。