2012-02-05 53 views
1

我需要与Facebook SDK一起工作,所以借助一些帮助,我编写了可以查找有关个人信息的脚本。但是如果他/她的名字中有变音符号,它将会变形,我尝试在SDK文件中设置字符集,但它没有帮助。
例如,如果名称是RenéBeneš,它将是RenĂ©BeneĹ。
你能帮我吗?
谢谢与Facebook SDK的字符集

回答

1

我可以在角色层面描述这里发生了什么 - 我希望它能帮助您更接近解决方案。您显然以UTF-8编码获取数据,但是您的软件将其解释为ISO-8859-2(ISO拉丁2,“东欧”)编码。例如,字母“é”(U + 00E9)是UTF-8中的两个字节0xC3 0xA9。如果根据ISO-8859-2错误地解释字节,则0xC3变为Ă并且0xA9变为©。

因此,您应该尝试使用UTF-8读取和处理数据,或将其从UTF-8转换为您使用的编码。

+0

是的,我发现问题,就像你说我已经获得了UTF-8的数据,但在我的页面中,有Windows-1250编码,当我试图将其更改为utf-8时,一切正常。谢谢你,兄弟 – 2012-02-05 14:56:28

-2

1例 - PHP

我建议你使用PHP函数叫做str_replace()函数:

$name = 'René Beneš'; 

$replace = array('é','š'); 
$replaced = array('e','s'); 

// output = Rene Benes 
echo str_replace($replace, $replaced, $name); 

你可以找到更多关于official PHP website - str_replace()该功能。

此外,有关特殊字符的更多信息和HTML代码可在Special Characters in HTML上找到。

第二个示例 - HTML

尝试更换:

<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" /> 

<head></head>部分之间。

+0

是的,我知道这个功能,但我知道有一些方法没有它,因为很多页面,包括这个页面都有变音符号。 – 2012-02-05 14:35:17

0

我确定utf8_decode和/或utf8_encode对你很好。