@Bolage

Как правильно записать кириллицу в MSSQL?

При записи кириллицы в MS SQL из PHP, некоторые символы заменяются на пару похожий символ+знак вопроса.

Например: й заменяется на и?

Таблица
CREATE TABLE test (
	title varchar(255) COLLATE Cyrillic_General_CI_AS NULL
);


Код вставки
$connection = new PDO("dblib:host=HOST:PORT;dbname=DB_NAME;charset=utf8", $login, $password);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$sql = "INSERT INTO test (title) VALUES ('Короткий текст')";

$connection->prepare($sql)->execute($values);


В итоге в title лежит Короткии? текст
  • Вопрос задан
  • 3092 просмотра
Решения вопроса 1
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
Перед строкой надо поставить N, а varchar заменить на nvarchar
INSERT INTO test (title) VALUES (N'Короткий текст')

можно ещё это почитать https://stackoverflow.com/questions/32350950/selec...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы