https://stackoverflow.com/questions/574805/how-to-einski-strings-in-msql-using-php>。 问题 我试图使我的方案更加安全,将扼杀物改成黑体,比较这些价值,而不是直接和危险地利用用户的扼杀。 我修改了有关这个问题的法典,以添加一项转换:
function mssql_escape($data) {
if(is_numeric($data))
return $data;
$data = iconv("ISO-8859-1", "UTF-16", $data);
$unpacked = unpack( H*hex , $data);
return 0x . $unpacked[ hex ];
}
我之所以这样做,是因为在我的数据库中,我使用的是Nvarchar,而不是varchar。 现在,当我通过时,就在营地一侧。
0xfeff00680065006c006c006f00200077006f0072006c00640021
随后,我提出以下问题:
declare @test nvarchar(100);
set @test = hello world! ;
select CONVERT(VARBINARY(MAX), @test);
结果是:
0x680065006C006C006F00200077006F0072006C0064002100
现在,你注意到这些数字是同比的。 除了零号拖车外,唯一的差别是疲软。 为什么会出现这种情况? 我认识到,我必须做的是转变,但我真的要知道我们在那里,而不是只是作一个假设。 谁能向我解释,为什么营地决定在我的牛肉前 throw下 f。