diff --git a/test/pdo_sqlsrv/pdo_033_binary_unicode.phpt b/test/pdo_sqlsrv/pdo_033_binary_unicode.phpt new file mode 100644 index 00000000..18f43904 --- /dev/null +++ b/test/pdo_sqlsrv/pdo_033_binary_unicode.phpt @@ -0,0 +1,48 @@ +--TEST-- +Insert binary HEX data then fetch it back as string +--DESCRIPTION-- +Insert binary HEX data into an nvarchar field then read it back as UTF-8 string +--SKIPIF-- + +--FILE-- +exec($sql); + + $input = pack( "H*", '49006427500048005000' ); // I'LOVE_SYMBOL'PHP + + $stmt = $conn->prepare("INSERT INTO $tableName (c1) VALUES (?)"); + $stmt->bindParam(1, $input, PDO::PARAM_STR, 0, PDO::SQLSRV_ENCODING_BINARY); + $result = $stmt->execute(); + if (! $result) + echo "Failed to insert!\n"; + + $stmt = $conn->query("SELECT * FROM $tableName"); + $utf8 = $stmt->fetchColumn(); + + echo "\n". $utf8 ."\n"; + + $stmt = null; + $conn = null; +} +catch (Exception $e) +{ + echo $e->getMessage(); +} + +print "Done"; + +?> + +--EXPECT-- +I❤PHP +Done