Наверх

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.Должно помочь.


 Читайте также:


Отправить комментарий

Войти используя Loginza Vkontakte Facebook livejournal Google Account Yandex Mail.ru API Rambler Last.fm Twitter WebMoney
  • Строки и параграфы переносятся автоматически.
  • Доступные HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Подробнее о форматировании

четыре + = восемь
Решите этот математический пример.Решение введите цифрой.Например для "один * четыре=?" введите "4"