• 締切済み

PHPの文字化けした文字だけ削除したい

PHPの文字化けした文字だけ削除したい 文字列から特定の字数抜き出すと、 たまに◆の中に「?」がある文字が出ます。 この文字だけ簡単に削除するコードはありませんか?

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

文字化けの理由は3つ (1)文字コードにおける使用不可な領域を使った場合 (2)特定の文字コードにおける問題=5C問題など (3)通信上のデータ欠損など物理的な問題 (1)なら文字コードさえ特定できれば比較的簡単に処理できそうです (2)は微妙で、環境依存だったりするので、文字化けかどうか判断しづらいです (3)は送信時点では整合性があっているので、処理は難しいと思います

  • tyatsumi
  • ベストアンサー率58% (30/51)
回答No.1

たぶんsubstr()などのシングルバイト文字列用の関数を マルチバイト文字列(日本語など)に使っているから、壊れた文字列が取得されたのではないでしょうか。 mb_substr()などのマルチバイト文字列用の関数を使えば解消すると思われます。 文字コードも適切なものを指定するのを忘れないでください。

関連するQ&A