を使用して文字列から n 文字を抽出しようとしてい
substr($originalText,0,250)
ます。
n 番目の文字はエンダッシュです。したがって、メモ帳で表示すると、最後の文字は †となります。私のエディタ、Brackets では、UTF-8 エンコーディングしかサポートしていないため、ログ ファイルを開くことさえできません。
この文字列に対して json_encode を実行することもできません。
ただし、 を使用するsubstr($originalText,0,251)
と、問題なく動作します。ログ ファイルを開くと、†の代わりに en-dash が表示されます。json_encode も正常に動作します。
問題を回避するために使用できますmb_convert_encoding($mystring, "UTF-8", "Windows-1252")
が、これらの文字を最後に使用すると特にエラーが発生する理由を誰か教えてもらえますか? さらに、これを行うと、ログ ファイルに「括弧内」が表示されますが、これも混乱を招きます。
私の質問は、なぜ文字列の最後に en-dash があるのかということです。他の場所 (その後に他の文字が続く) とは異なります。
うまくいけば、私の質問は明確です。そうでない場合は、さらに説明してみてください。
ありがとう。