Как записать через php данные в базу MS SQL (не MySQL) в кодировке windows-1251?

Есть форма записи в БД, разумеется есть и код, который это почти удачно осуществляет, но не в той кодировке как надо.
Кто может помочь?
<?php
require 'db.php';

$id = $_POST['id'];
$reason = $_POST['reason'];
$comment = $_POST['comment'];
$approve_name = $_POST['approve_name'];
$appr = $_POST['appr'];

print_r($_POST);

if($reason != '') {
$upd_data = $DBH->prepare("SET NAMES cp1251; UPDATE SCUD2 SET reason=:reason, comment=:comment WHERE SCUDID=:id");
$upd_data->execute(array(
					'id'=>$id,
					'reason'=>$reason,
					'comment'=>$comment,
					));
}

if($approve_name != '') {
	if($appr == '') {
		$approve_name = '';
	}
$upd_data = $DBH->prepare("SET NAMES cp1251; UPDATE SCUD SET state=:state, approve_name=:approve_name WHERE SCUDID=:id");
$upd_data->execute(array(
					'id'=>$id,
					'state'=>$appr,
					'approve_name'=>$approve_name,
					));
}
?>
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@FanatPHP
set names задает не целевую кодировку, а исходную
Целевую указывать не надо, база ее и так знает
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы