2016-11-30 10 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 => "" 
] 

リストを解析した後、これは、たとえば1人のユーザーのアレイです。だから私は、ユーザーを含む文字列を行うためにwan'tときに私が何かしようとしたフルネーム:

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

をしかし、私は、JSONとしてこれを返却する必要がある、と私はこれをjson_encodeとき、それはただfalseを返します。私はそれをなぜ特殊キャラクターがそれを担当しているのかを知らずに絞り込んだと信じています。

ここで、json_encodingのバイナリ文字列で何が起こっているのかと尋ねていますが、変換する方法や、これらの特殊文字を扱うための他の回避策もありますか?

+1

ドキュメントにはどのエンコードが使用されていますか? –

+0

私もそれを理解しようとしましたが、できませんでした。それを見つける方法はありますか、それについてデータ提供者に尋ねる必要はありますか? – gerre

+1

ファイルをダウンロードして(例えば)メモ帳++で開き、エンコーディングメニューを見てください:) –

答えて

0

突然、file_get_contentsを実行した後に文字列全体がutf-8_encodeになってしまい、問題が解決しました。

関連する問題