私はphpを介して取得し、ページにエコーしているmysqlデータベースからの情報を持っています。私が最初に問題に気付いたのは、出力にいくつかの \'s と、疑問符の付いた黒いひし形がいくつかあったためです。私はいくつかの調査を行い、2つのことを実現しました。
エスケープ文字が含まれていたため、データベースに情報をうまく入力できないようにツールを設計しました。
これは、ストリップスラッシュを呼び出すことで解決できます。
ストリップ スラッシュを使用すると、出力から \ が削除されましたが、認識されない文字がまだ残っていました。それを調べたところ、これはある種の文字エンコーディングの問題であることがわかりました。しかし、私が理解していないのは、データベースに一部の 's がエスケープされたフィールド (\) とそうでないフィールドがあったことです。例えば:
今日の料理は昨日の料理です。
1 つの単一引用符がエスケープされ、1 つがエスケープされない理由がわかりません。認識されなかったその他の文字には、二重引用符 (")、コンマ (,)、さらにはピリオド (具体的には省略記号 ...) などがあります。
私は何が欠けていますか?
さらに、私のデータベースは utf-unicode であり、明確にするために、いくつかのデータベース エントリの同じフィールドに \' と ' の両方があります。違いがある場合、これらのエントリは varchar です。
追加情報を提供する必要がある場合はお知らせください。