2013-07-22 16 views
5

アクセント付きeをmysqlデータベースにthis exampleの後に挿入しようとしています。この使い方:アクセス拒否でSET NAMESコマンドが失敗する

mysql_query("SET NAMES 'utf8'"); 

例外:

警告:するmysql_queryは()[function.mysql-クエリは]:アクセスは、ユーザーの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); 
+7

エラーが 'mysql_error'とクエリが' mysqli_connect'を使用すると言う - 怪しいものがありますか? –

+0

AHHHHありがとう、私の愚かなこと。私のDBに保存とeアクセントの問題を解決することはありませんが、私は接続について尋ねた問題を解決します。ありがとうございました。あなたが知っているかどうか疑問に思っているだけで、アクセントの電子と黒の短歌を節約できます。途中で、なぜ/これを解決する方法を知っていますか? – snookian

+1

http://stackoverflow.com/questions/279170/utf-8-all-the-way-throughに掲載されている他のものを試してみましたか?PHPファイルをUTF-8([BOMなし]で保存するhttp://stackoverflow.com/questions/8028957/headers-already-sent-by-php))、任意のフォームに「accept-charset」を設定しますか?そうであれば、別の質問をしてください。 – PleaseStand

答えて

-2

php fileUTf-8に設定しているようです。

9

mysql_*との使用を混ぜて使用しないでくださいは機能します。代わりに

mysql_query("SET NAMES 'utf8'"); 

使用

$dbc->set_charset('utf8'); 
2

の私は、あなたがmysql_queryを使用していて、mysqli_connectに接続されている問題がある、接続に問題がないと思います。

mysqli_queryを使用してクエリを実行してください。

+0

ありがとう、Amal Muraliはすでに私にこれを暗示してくれましたが、またよかったです。 – snookian

+0

@snookianそれが役に立ちそうなら答えを受け入れてください。 –

+1

最新情報についてはhttp://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.set-charset.htmlを参照してください。これは、手続き型およびオブジェクト指向の方法を示しています。 UTF8。 – KarlosFontana

0

はこのような何かを試してみてください。

$dbc = mysql_connect ('localhost', 'user', 'pword'); 
mysql_select_db('test1',$dbc); 
mysql_query('SET NAMES "utf8"',$dbc); 
関連する問題