2016-11-30 138 views
0

我通过file_get_contents请求获取人员列表并解析该列表。Json_encode二进制字符串

在循环浏览它们时,如果有人通过某些条件,我需要抓取这些人员数据并为发布请求创建一个正文。

但是我得到的一些值包含不同类型的特殊字符。像ü,æ,ø等等。只要发生这种情况,字符串就会以二进制字符串形式提供。像:b“tæst”。当这些字符不存在时,它就像“测试”一样传送。

array:14 [ 
    0 => "23468" 
    1 => "Firstname" 
    2 => b"Læstname" 
    3 => "[email protected]" 
    4 => "center" 
    5 => "2016-11-29" 
    6 => "" 
    7 => "" 
    8 => "" 
    9 => "" 
    10 => "Level" 
    11 => "54698523" 
    12 => "" 
    13 => "" 
] 

解析列表后,这是例如一个用户的数组。所以,当我wan't做包含用户的字符串全名我已经试过类似:

htmlspecialchars($employee[1].' '.$employee[2], ENT_COMPAT,'ISO-8859-1', true); 

但我需要回到此为JSON,当我json_encode这只是返回false。我相信我已经把它缩小到了对其负责的特殊角色,而不知道为什么。

所以我想问我在这里用json_encoding中的二进制字符串发生了什么,是否有一种方法可以将其转换为其他方法来处理这些特殊字符?

+1

文档使用哪种编码? –

+0

我试图想出来,但一直未能。有没有我能找到的方法,还是我需要向数据供应商询问这个问题? – gerre

+1

只需下载文件,用记事本++打开它(例如),并看看编码菜单:) –

回答

0

突然它运行只是utf-8_encode在运行file_get_contents后的整个字符串,并解决了问题。