1

私のhtml5ページでは、文字列の約80%がUnicodeです。私のローカルサーバーで完璧に動作しました。オンラインサーバーにアップロードすると、ページにUnicodeコンテンツが正しく表示されません。代わりに、それらはすべて疑問符です!

ページのコーディングを開始したときに、すでにメタタグを設定しています。

<meta charset="UTF-8">

Chromeブラウザで受信した応答ヘッダーを確認したところ、「utf-8」エンコーディングが存在しませんでした。header()そこで、次のように送信されたHTTPヘッダーにphpを追加しました。

header('Content-type: text/html; charset=utf-8'); 

現在、応答ヘッダーにはutf-8エンコーディングが表示されていますが、ページはUnicode文字列をレンダリングしていません。それでも疑問符です!

(オンラインサーバーの)cPanelにあるファイルマネージャーを使用しました。ページのオンライン編集を選択すると、utf-8でエンコードされたページが開き、完全にレンダリングされます。つまり、ファイルのアップロードが台無しにならなかったことを意味します。右 ?

私もこのメタタグを試しました(短いタグを置き換えます):

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>

まだダメ!Unicodeコンテンツはデータベースからのものではありません。ページに完全にハードコーディングされています。

Google Chrome、Firefox、InternetExplorerでテスト済み。すべて同じを示しています!どこを微調整する必要があるかについてのアイデアはありますか?

私のサーバーはHostGatorが提供するVPSです。

4

2 に答える 2

0

動作するかどうかはわかりませんが、ファイルエンコーディングをUTF-8(BOMなし)に変換してみることもできます。

于 2013-03-09T17:21:24.450 に答える
0

解決策はリサミスコフスキーによって提供されます(この投稿の上/下の彼女の答えを確認してください)。リサに感謝します。

私がしたことは、Encodingメニューバーに移動UTF-8 Without BOMし、Notepad ++エディターで[エンコード]を選択して、エンコードを変更したことです。HTTPヘッダーを明示的に送信することも、現在は必要ありません(テスト済み)。HTTPヘッダーがないため、文字セットのメタタグが考慮されると思います。

于 2013-03-14T11:01:42.597 に答える