私のphpファイルでは:
foreach ($output[0] as $key => $value){
$output[0][$key] = utf8_encode(strip_tags($output[0][$key]));
}
echo (json_encode($output));
null
ウムラウト付きの文字が邪魔になるのを避けるために utf8 でエンコードしていたところ、ハイフンが見つかりました。これは、フォーム出力を取得しているテキストです。
H\u00f6rbuch-CDs
次に、json_encode を実行すると、null
. 元のテキストはHörbuch-CDs
基本的にutf8エンコーディングが機能していましたが、何らかの理由でハイフンをスキップし、utf変換のコード(と思う)を見つけましU+002D
た。変換が存在することを意味します。
私の質問は、なぜ utf8_encoding が...エンコーディングではないのですか? この問題を解決するにはどうすればよいですか? テキストを解析して、すべてのハイフンを手動で置換する必要がありますか?
少し余分に、出力のテキストは collation を使用してデータベースから取得されますがlatin1_german1_ci
、これが役立つかどうかはわかりません。