PHP + SQL Server - Как установить кодировку для подключения? - PullRequest
25 голосов
/ 24 августа 2009

Я пытаюсь сохранить некоторые данные в базе данных SQL Server через php.

Проблема в том, что специальные символы не конвертируются должным образом. Кодировка моего приложения iso-8859-1 сервер использует windows-1252.

Преобразование данных перед вставкой не помогает, похоже, что некоторые конверсия продолжается.

Запуск SQL-запроса 'set char_convert off' также не помогает.

Кто-нибудь знает, как мне заставить это работать?

РЕДАКТИРОВАТЬ: Я пробовал ini_set ('mssql.charset', 'windows-1252'); также, но никакого результата с этим тоже нет.

Ответы [ 13 ]

0 голосов
/ 31 июля 2015

Вы должны установить кодировку с помощью ini_set ('mssql.charset', 'windows-1252') перед подключением. Если вы используете его после mssql_connect , это не имеет никакого эффекта.

0 голосов
/ 24 августа 2009

Разве вы не можете просто преобразовать ваши таблицы в кодировку вашего приложения? Или использовать utf-8 в обоих?

Я не знаю, поддерживает ли MSSQL кодирование на уровне таблицы.

Кроме того, попробуйте строковые функции в МБ (многобайтовых), если вышеприведенное не помогло.

0 голосов
/ 24 августа 2009

Вы можете использовать функцию mysql_set_charset: http://it2.php.net/manual/en/function.mysql-set-charset.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...