我有一个正在运行的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);
我该怎么修?
根据@Adnan的建议,我添加了我的评论作为答案。
因此,主要问题似乎是字符编码。
在这种特殊情况下,请确保在键入外来符号时,您的编辑器(是的,就是您编写代码的编辑器)也设置为所需的编码。一个好的规则是确保在中使用相同的编码(我建议始终使用UTF-8)
-
您的数据库(如果您使用一个-这种情况不同,因为它使用FQL),这将影响您的查询
-
您的html(通过标签),这将影响您的输出
-
您的代码(正是代码的来源,许多程序员或IDE的严肃文本编辑器都有一个菜单选项来设置源代码的编码),这将确保使用正确的字节序列来构建字符串和查询