Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ob SET NAMES verwendet werden soll

mysql_set_charset() wäre eine Option - aber eine Option, die auf ext/mysql . Für ext/mysqli es ist mysqli_set_charset und für PDO ::mysql Sie müssen einen Verbindungsparameter angeben.

Da die Verwendung dieser Funktion zu einem MySQL-API-Aufruf führt, sollte dies als viel schneller angesehen werden als das Ausgeben einer Abfrage.

In Bezug auf die Leistung ist der schnellste Weg, eine UTF-8-basierte Kommunikation zwischen Ihrem Skript und dem MySQL-Server sicherzustellen, die korrekte Einrichtung des MySQL-Servers. Als SET NAMES x ist äquivalent zu

SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

wohingegen SET character_set_connection = x führt intern auch SET collation_connection = <<default_collation_of_character_set_x>> aus Sie können auch diese Servervariablen setzen statisch in Ihrer my.ini/cnf .

Bitte beachten Sie mögliche Probleme mit anderen Anwendungen, die auf derselben MySQL-Serverinstanz ausgeführt werden und einen anderen Zeichensatz erfordern.