sql >> Databasteknik >  >> RDS >> Mysql

Om man ska använda SET NAMES

mysql_set_charset() skulle vara ett alternativ - men ett alternativ begränsat till ext/mysql . För ext/mysqli det är mysqli_set_charset och för PDO ::mysql du måste ange en anslutningsparameter.

Eftersom användningen av denna funktion resulterar i ett MySQL API-anrop bör det anses vara mycket snabbare än att skicka en fråga.

När det gäller prestanda är det snabbaste sättet att säkerställa en UTF-8-baserad kommunikation mellan ditt skript och MySQL-servern att ställa in MySQL-servern korrekt. Som SET NAMES x är likvärdig till

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

medan SET character_set_connection =x internt kör också SET collation_connection =<> du kan också ställa in dessa servervariabler statiskt i din my.ini/cnf .

Var medveten om möjliga problem med andra applikationer som körs på samma MySQL-serverinstans och som kräver någon annan teckenuppsättning.



  1. Transponera en uppsättning rader som kolumner i SQL Server 2000

  2. Kerberos för SQLyog av MariaDB Connector/C

  3. Hur kan jag exportera innehållet i en orakeltabell till en fil?

  4. Hur kan jag uppdatera/öppna en SQLite-databas efter att ha återställt den, när jag använder en singleton för databashjälpen