【问题标题】:Special character in SQL ServerSQL Server 中的特殊字符
【发布时间】:2017-08-21 08:48:54
【问题描述】:

我使用 SQL Server,需要搜索

WHERE Lastname LIKE '$pName%' 

$pName = "Eugène%";  

这会返回一个空结果,但是当我尝试使用 $pName = "Eug%"; 时,我会得到所有匹配的行。特殊字符不允许我搜索。

我试过了

$pName = mb_convert_encoding($pName, 'UTF-8', 'ASCII');

但它仍然不让我搜索。

如何确定这个表在数据库中的设置是哪个?

【问题讨论】:

  • 你可以试试LIKE N'$pName%'
  • Select LastName from people WHERE Lastname LIKE N'Eugène%' : 未找到行
  • Lastname 是什么数据类型? $pName 是什么数据类型?
  • nvarchar(50,null)
  • $pName 中的美元符号是怎么回事?这是从某个前端应用程序完成的吗?请相应地标记。如果这完全在 SQL Server 中完成,请添加重现问题的脚本。

标签: sql sql-server special-characters


【解决方案1】:

解决办法是转成ISO格式

$pName = mb_convert_encoding($pName, 'ISO-8859-1', 'UTF-8');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    相关资源
    最近更新 更多