Получение данных в UTF-8 кодировке из MSSQLServer на PHP
В данном материале приводится пошаговая инструкция для решения задачи получения данных в UTF-8 кодировке из базы данных
Microsoft SQLServer на PHP под ОС Windows.
Т.к. в данном случае PHP установлен под Windows, то для работы с MSSQLServer мы воспользуемся COM-компонентами ADO.
1. Создание в базе данных тестовой таблицы
Подключимся с помощью SQL Query Analyzer к базе данных SQL Server и выполним следующий код:
CREATE TABLE [dbo].[UTF8TEXT] (
[UTF8TEXT_ID] [int] IDENTITY (1, 1) NOT NULL ,
[TITLE] [nvarchar] (255) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[UTF8TEXT] ADD
CONSTRAINT [PK_UTF8TEXT] PRIMARY KEY CLUSTERED
(
[UTF8TEXT_ID]
) ON [PRIMARY]
GO
2. Вставка в таблицу записи с UTF-8 данными
INSERT INTO UTF8TEXT (TITLE) VALUES (N'Строка в UTF-8')
GO
Пример:

3. Написание PHP-скрипта для считывания UTF-8 строки из тестовой таблицы
<?php
$dsn = "Provider=SQLOLEDB.1;Initial Catalog=test;Data Source=localhost;UID=user;PWD=password";
$cn = new COM("ADODB.Connection", NULL, CP_UTF8);
$rs = new COM("ADODB.Recordset", NULL, CP_UTF8);
$cn->Open($dsn);
$sSQL = "select * from UTF8TEXT";
$rs->Open($sSQL, $cn, 1);
while (!$rs->EOF) {
$objTitle = $rs->Fields("TITLE");
echo("<li>".$objTitle->value);
$rs->MoveNext();
}
$rs->Close();
$cn->Close();
$rs = null;
$cn = null;
?>
4. Сохранение PHP-файла в кодировке UTF-8
Важно не забыть сохранить PHP-файл в кодировке UTF-8.
5. Вызов PHP-скрипта в браузере
В результате получаем нашу UTF-8 строку:

Исходные тексты: phputf8sql.zip
|