2013-07-22 5 views
5

Ich versuche, eine Akzent e in eine Mysql-Datenbank nach this example einfügen. dies mit:SET NAMES-Befehl schlägt fehl mit Zugriff verweigert

mysql_query("SET NAMES 'utf8'"); 

wirft:

Warning: mysql_query() [function.mysql-query]: Zugriff verweigert für Benutzer 'ODBC' @ 'localhost'

Sein nicht Verbindung zur Datenbank:

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

Der Fehler sagt 'mysql_error' und Ihre Abfrage verwendet' mysqli_connect' - gibt es etwas faul? –

+0

AHHHH Danke, wie dumm von mir. Löst nicht das Problem des Speicherns und des Akzents in meiner Datenbank, aber löst das Problem, das ich über die Verbindung fragte. Vielen Dank. Ich frage mich, ob du es weißt, es speichert jetzt den Akzent und eine schwarze Spur mit einem? in der Mitte, warum/wie löst man das? – snookian

+1

Haben Sie eines der anderen Dinge versucht, die unter http://stackoverflow.com/questions/279170/utf-8-all-the-way-through aufgelistet sind, wie das Speichern von PHP-Dateien als UTF-8 ([ohne BOM] (http://stackoverflow.com/questions/8028957/headers-already-sent-by-php)) und einen "accept-charset" auf allen Formen setzen? Wenn ja, stellen Sie eine separate Frage. – PleaseStand

Antwort

-2

Die php file zu UTf-8 Einstellung schien zu funktionieren.

9

keinen Gebrauch von der mysql_* undmischenFunktionen. Statt

mysql_query("SET NAMES 'utf8'"); 

Verwendung

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

Ich denke, es gibt kein Problem in Verbindung besteht das ist das Problem, dass Sie die mysql_query verwenden und mit mysqli_connect verbinden.

Verwenden Sie also die mysqli_query, um die Abfrage auszuführen.

+0

Ja danke, Amal Murali hat mir das schon angedeutet, aber danke auch. – snookian

+0

@snookian Wenn es hilfreich ist, dann akzeptiere die Antwort. –

+1

Für die neuesten Informationen lesen Sie bitte http://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.set-charset.html es zeigt uns die prozeduralen und objektorientierten Möglichkeiten der Verbindung und Änderung zu UTF8. – KarlosFontana

0

versuchen, etwas wie folgt aus:

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