PHP インターフェースを作成し、返されるデータは json 形式 (データ形式は OK、エンコードは utf8 形式) ですが、呼び出し時に json 形式のデータを解析できませんが、返されたデータをコピーします。文字列に変換 文字列を解析できます。長い間検索した結果、出力されたソースコードの前に空白があることがわかりましたが、この空白はトリミングしてスペースを削除しても解決できません。リクエストインターフェイスをシミュレートするために、 を削除する方法を使用しました。 BOM ヘッダー Trim($result, "xEFxBBxBF"); がまだ解析できません。
それは、json_encode 出力を適切に記述していないためです。ステートメント ヘッダー('Content-type. :application/json;charset=utf-8');
BOM ヘッダーの影響であるはずです
$result =rim($result, "xEFxBBxBF");
を削除するだけです$result
の BOM は削除されますが、php プログラム ファイルの BOM は削除されません
新しいプログラムを作成します
echo bin2hex(file_get_contents('http://yourhost/api.php'));
BOM ヘッダーの影響である必要があります
$result = trim($result, "xEFxBBxBF" ; BOM
は BOM ヘッダーの影響である必要があります
$result = trim($result, "xEFxBBxBF");
echo bin2hex(file_get_contents('http://yourhost/api.php'));
j 実行後、BOM があるかどうかを確認できます。
BOM ヘッダーである必要があります。
$result = Trim($result) の影響, "xEFxBBxBF");
echo bin2hex(file_get_contents('http://yourhost/api.php'));
jが実行されると、BOM があるかどうかを確認できます
フロントエンドには次の出力があります
2020efbbbf7b22737461747573223a302c226d657373616765223a225c7539613 8635c75386 26
echo bin2hex(file_get_contents('http://yourhost/api.php'));
$result = trim($result, "xEFxBBxBF");
$result の BOM を削除するだけです
プログラムファイルの php BOM を削除しない
新しいプログラムを作成する
j 実行後、BOM があるかどうかを確認できます
モデレータさん、熱心なご回答ありがとうございました。問題は最終的に解決されました。BOM ヘッダーを含むファイルを見つけて再編集しました。json を解析できます。
notepad++ でファイルを BOM フリー形式に変換できます。 > このログを読むことができます: http://my .oschina.net/rain21/blog/384549
echo bin2hex(file_get_contents('http://yourhost/api.php'));
ご回答ありがとうございます、試してみます