یک نکته امنیتی که برای charset وجود دارد این هست که اگر charset مورد نظر توسط api های داخلی mysqli مقدار دهی نشود به هیچ عنوان تابع mysqli_real_escape_string عمل نخواهد کرد !
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
// Will not affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8");
// Will not affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8");
// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8');
?>
http://php.net/manual/en/mysqli.real-escape-string.php
http://php.net/manual/en/mysqlinfo.concepts.charset.php