0

我有一个有效的PHP API 脚本,用它来用 FQL 提取数据。但是,当我向部分添加子句WHERE(例如专辑/人名)时,例如name="שלום",其中包括希伯来语,我得到空结果。使用英文名称时,例如 name="hello" 我得到完整的数据。

我已经仔细检查过——我应该得到数据,因为我确实有带有这些希伯来语表达的相关专辑。

我真的不知道这是 FQL 还是 PHP 问题,但这似乎只是一个技术问题。

$fql = "SELECT aid,
       owner,
       link
FROM   album
WHERE  owner IN (SELECT uid
                 FROM   USER
                 WHERE  uid IN (SELECT uid2
                                FROM   friend
                                WHERE  uid1 = Me()))
       AND name = 'עברית'  
    ";
$param1 = array(
    'method' => 'fql.query',
    'query' => $fql,
    'callback' => ''
);
$fqlResult1 = $facebook->api($param1);

我该如何解决?

4

1 回答 1

1

按照@Adnan 的建议,我添加我的评论作为答案。

所以似乎主要问题是字符编码

在这种特殊情况下,请确保当您键入外来符号时,您的编辑器(是的,您编写代码的那个)也设置为所需的编码。一个好的规则是确保您在以下位置使用相同的编码(我建议始终使用 UTF-8):

  • 您的数据库(如果您使用一个 - 这种情况与使用 FQL 不同),这将影响您的查询

  • 您的html(通过标签),这将影响您的输出

  • 您的代码(代码的源代码,许多面向程序员或 IDE 的严肃文本编辑器都有一个菜单选项来设置源代码的编码),这将确保使用正确的字节序列来构建字符串和查询

于 2012-08-17T14:32:44.933 回答