【问题标题】:PHP and SQL Server returns no rows with ™ in fieldPHP 和 SQL Server 不返回字段中带有 ™ 的行
【发布时间】:2020-05-24 23:13:41
【问题描述】:

我的查询有问题,它在 SQL Server 中运行良好,但是当我尝试在 PHP 中返回该行时,它返回时没有任何结果。请参阅下面的代码,问题与此字段有关 SO_SalesOrderHistoryDe​​tail.ItemCodeDesc 此字段听起来就像是项目描述,并且在此特定记录中包含此数据。 ACC、Smart-Trek™ 豪华立体声

我已经确认这是问题™ 出于某种原因该字段不会在 PHP 中显示。我可以编辑数据,尽管我想保留该选项以备不时之需。我不确定为什么这些特定数据会阻止返回所有信息。我没有收到 PHP 错误。非常欢迎任何帮助。

$tsql = "
   SELECT 
      SO_SalesOrderHistoryHeader.CustomerNo, 
      SO_SalesOrderHistoryHeader.CustomerPONo, 
      SO_SalesOrderHistoryDetail.SalesOrderNo, 
      SO_SalesOrderHistoryDetail.CancelledLine, 
      SO_SalesOrderHistoryDetail.ItemCode, 
      SO_SalesOrderHistoryDetail.ItemCodeDesc, 
      SO_SalesOrderHistoryDetail.QuantityBackordered, 
      SO_SalesOrderHistoryDetail.QuantityOrderedRevised, 
      SO_SalesOrderHistoryDetail.PurchaseOrderNo, 
      SO_SalesOrderHistoryDetail.QuantityShipped, 
      SO_SalesOrderHistoryHeader.OrderStatus, 
      SO_SalesOrderHistoryHeader.OrderDate, 
      SO_SalesOrderHistoryHeader.CustomerPONo 
   FROM SO_SalesOrderHistoryDetail 
   INNER JOIN SO_SalesOrderHistoryHeader ON 
      SO_SalesOrderHistoryDetail.SalesOrderNo = SO_SalesOrderHistoryHeader.SalesOrderNo 
   WHERE 
      (SO_SalesOrderHistoryHeader.CustomerNo = 'XXXXXXX') AND 
      (SO_SalesOrderHistoryHeader.OrderStatus <> 'X') AND 
      (SO_SalesOrderHistoryDetail.CancelledLine = 'N') AND 
      (SO_SalesOrderHistoryHeader.CustomerPONo = 'XXXXXXX')
";

$getResults= sqlsrv_query($connms, $tsql);
$row = sqlsrv_fetch_array($getResults);

【问题讨论】:

  • 查看是否实际存储为&amp;trade;。你是什​​么意思“由于某种原因这个字段不会在PHP中显示”它只是不显示
  • 不,我应该什么都不说,它返回了。根本没有记录。
  • 我如何找到这个?查看它是否实际存储为 ™或™。
  • 您的问题和查询似乎彼此无关。您的查询中没有任何内容在寻找 ™ 字符,这意味着查询没有返回任何结果,因为在 WHERE 中没有返回 true。如果 WHERE 不正确,那么其中一个无关紧要其他列中有;这是完全不真实的。
  • 几种方式。通过 SELECT ItemCodeDesc FROM SO_SalesOrderHistoryDetail WHERE id = 100 等其他条件选择您知道有 TM 的行,回显它并查看网页的源代码。

标签: php sql-server ubuntu sqlsrv


【解决方案1】:

我找到了我认为我会传递给其他人的答案。它可以在下面的 URL 中找到。

为您的连接配置数组添加这个:"CharacterSet" =&gt;"UTF-8"

例如:

$connectionInfo = array( "Database"=>"DBName", "CharacterSet" =>"UTF-8" );

https://docs.microsoft.com/en-us/archive/blogs/brian_swan/sql-server-driver-for-php-connection-options-characterset

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多