sqlsrv_encoding_utf8
В базах данных от Microsoft очень часто наблюдаются проблемы с кодировкой. Данные нужно переводить из windows-1251 в UTF-8.
Это делается на уровне базы данных.Можно использовать функцию PDO::SQLSRV_ENCODING_UTF8 для драйвера PDO.Очень удобный драйвер для общения с любой базой данных.
$serverName = "serverName\SQLEXPRESS";
$name= "user_name";
$pass = "password";
$options = array(PDO::SQLSRV_ATTR_ENCODING=>PDO::SQLSRV_ENCODING_UTF8, "CharacterSet" => "UTF-8");
try
{
$conn = new PDO( "sqlsrv:Server=".$serverName."; Database=DB_Name", $name, $pass, $options);
echo "Connected!";
}
catch(Exception $e)
{
die( print_r( $e->getMessage() ) );
}
Или устанавливать атрибут при соединении с БД
$conn->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);
Если перебороть эту напасть не удастся-можно использовать iconv на стороне php сервера.
Если и это не поможет-смените тип поля с varchar на nvarchar.Должно помочь.
Комментарии:
Нету комментариев для вывода...