mysql_set_charset()
би било опция - но опция, ограничена до ext/mysql
. За ext/mysqli
това е mysqli_set_charset
и за PDO
::mysql
трябва да посочите параметър за връзка.
Тъй като използването на тази функция води до извикване на MySQL API, трябва да се разглежда много по-бързо от издаването на заявка.
По отношение на производителността най-бързият начин да се гарантира UTF-8-базирана комуникация между вашия скрипт и MySQL сървъра е правилното настройване на MySQL сървъра. Като SET NAMES x
е еквивалент
до
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
докато SET character_set_connection = x
вътрешно също изпълнява SET collation_connection = <<default_collation_of_character_set_x>>
можете също да зададете тези сървърни променливи
статично във вашия my.ini/cnf
.
Моля, имайте предвид възможните проблеми с други приложения, работещи на същия екземпляр на MySQL сървър и изискващи друг набор от знаци.