В настоящее время я испытываю странную ошибку.Как вставить двоичные данные в MSSQL с помощью PDO
Установка: MSSQL Server 2012 Экспресс с LocalDB Целевая таблица сортировки: SQL_Latin1_General_CP1_CI_AS
PHP 5.3.9 на сервере Zend 5,6 Mcrypt с MCRYPT_RIJNDAEL_256 и MCRYPT_MODE_ECB
Sublime Text 2 по умолчанию (я читал это спецификация UTF8)
Я использую PDO с официальным MS-адаптером для сервера MSSQL. Все отлично работает, кроме одного: Я не могу написать строку в мою таблицу администратора из-за пароля.
Давайте посмотрим на моем ЗАШИФРОВАННОМ пароле:
y"ûƒ^äjw¾bðúl5êù-Ö=W¿Š±¬GP¥Œy÷&ø
Это PDO Трассировка:
Array
(
[0] => IMSSP
[1] => -7
[2] => An error occurred translating string for input param 3 to UCS-2: No mapping for the Unicode character exists in the target multi-byte code page.
)
SQL: [120] INSERT INTO administrator ([username], [email], [password], [section]) VALUES(:username, :email, :password, :section)
Params: 4
Key: Name: [9] :username
paramno=0
name=[9] ":username"
is_param=1
param_type=2
Key: Name: [6] :email
paramno=1
name=[6] ":email"
is_param=1
param_type=2
Key: Name: [9] :password
paramno=2
name=[9] ":password"
is_param=1
param_type=2
Key: Name: [8] :section
paramno=3
name=[8] ":section"
is_param=1
param_type=2
Когда я использую мой центр MSSQL Management я могу вставить строку с точно таким же SQL запрос. Установка колонки отлично я предполагаю:
["id"]=>
string(3) "int"
["username"]=>
string(12) "nvarchar(45)"
["email"]=>
string(12) "nvarchar(45)"
["password"]=>
string(12) "varbinary(45)"
["section"]=>
string(11) "nvarchar(7)"
["country_code"]=>
string(11) "nvarchar(2)"
Я использую подготовленные заявления и bindParam
функции не дополнительные опции, чтобы выполнить мои заявления SQL.
Если у кого-то есть идея, как решить это, пожалуйста, дайте мне знать. Людей помощи приветствуем!
Не уверен в ms sql, но должен быть способ объявить двоичный столбец, то есть без кодирования или сортировки. –
@Jack, Спасибо за комментарий. После этого я попробовал двоичные и varbinary столбцы, но они тоже не работают. – Richard
Хорошо, есть ли способ связать параметр как двоичный в PDO? –