activex.net.ru

ActiveX .NET SharePoint Утилиты Скрипты Статьи ... Форум

Статьи

Получение данных в 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


Copyright © 2000-2017 Христофоров Юрий Rambler's Top100

   Rambler's Top100