電子書籍の厳選無料作品が豊富!

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

文字列から特定の字数抜き出すと、
たまに◆の中に「?」がある文字が出ます。

この文字だけ簡単に削除するコードはありませんか?

A 回答 (2件)

文字化けの理由は3つ



(1)文字コードにおける使用不可な領域を使った場合
(2)特定の文字コードにおける問題=5C問題など
(3)通信上のデータ欠損など物理的な問題

(1)なら文字コードさえ特定できれば比較的簡単に処理できそうです
(2)は微妙で、環境依存だったりするので、文字化けかどうか判断しづらいです
(3)は送信時点では整合性があっているので、処理は難しいと思います
    • good
    • 0

たぶんsubstr()などのシングルバイト文字列用の関数を


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!