2017-03-22 12 views
0

私は、テキストエリアを取り込んで内容をMySQLデータベースに入れてから、その情報を表示する、とてもシンプルなフォームを持っています。これまでアポストロフィや弾丸のような特殊文字を含むすべてが正常に機能していましたが、突然アポストロフィでフォームがエラーになり、箇条書きが次のように表示されます:吹き出しの代わりに突然表示される

すべてのページは次のようにメタエンコードされていますUTF-8の場合、データベースの照合はUTF-8で、テキスト領域の文字列はutf8_encodeコマンドで処理されます。

これが突然発生する原因は何ですか?

私はここで答えを探していますが、データベースやWebページ/フォームでUTF-8が見つからない状況しか見つけられません。私の唯一の前提は、ホストによるPHPバージョンの更新ですが、現在実行中のバージョン番号を見ることができない独自のシステムを使用しているため、このような影響を受けるかどうかわかりません。

重要な場合は、テキストエリアは常にフォーマット用のHTMLプレタグで囲まれます。

答えて

0

すべてが適切にエンコードされたことを数回確認した後、私は以下のソリューションしようとしてしまった:私の後

mb_convert_encoding(textareacontents, "HTML-ENTITIES", "UTF-8") 

:MYSQL DBに私のテキストエリア内のデータを渡す前に

を私はこれを実行しましたその行を走らせて、すべてが動作し始めた。私は、このmobijakeの問題がランダムに起き始めた理由、特にすべての適切な文字セットを使って、なぜこれが役立つように見えたのか完全にはわかりません。うまくいけば、これはジャムの誰かを助けてくれるでしょう。

1

私は明らかに文字エンコーディングに関して少し後ろですが、あなたが正しく文字セットを宣言していることを確認してください。

https://www.w3.org/International/questions/qa-html-encoding-declarations

HTML5が唯一の<meta charset="utf-8">が必要です。これを使用している場合は、HTMLの上部に<!DOCTYPE html>も使用してください。そうしないと、<meta charset="utf-8">が動作しないHTML4の問題が発生する可能性があります。

+0

これは逆になります。utf8を使用する必要があります。あなたは7歳の質問を引用します。私たちはそれ以来動いてきました。 – nogad

+0

Thanks @nogad、更新しました。私はこの問題が起きたのを見てからしばらくしていました。 –

+0

私のすべてのエンコーディングをチェックしましたが、残念ながらサイコロはありません。 – CdnXxRRODxX

1

•は、弾丸のための餅です。あなたが間違ったことを見つけるためにthisを使用してください。

+0

私は何も見逃していないことを確認するためにガイドを調べましたが、私のmobijakeの問題は依然として残っていました。私は、しかし、そこにいくつかの素晴らしい情報があるので、あなたのリンク先のポストを将来の参照のために使用しています。 – CdnXxRRODxX

+0

その点までのリンクを集めて簡素化するには数年かかりました。私は究極の原因が何であったかを知ることに興味があるでしょう。多分私は私のリンクに何か間違っています。 –

+0

このスレッドに返信しました。露骨に正直言って、私はホストの終わりに何かが起こったと思っています。そして、この問題が発生した時点でいくつかの休止時間があったので、彼らは何かを補償しています。私は間違っている可能性があるので、エンコーディングの基礎だけではなかなか習熟していません。 – CdnXxRRODxX

関連する問題