2

MySql データベースは utf-8 エンコーディングを使用し、データは正しく保存されます。set_name utf8 クエリを使用して、呼び出されたデータが utf-8 でエンコードされていることを確認します。データベースからのすべての変数は、ヘッダーの文字セットが utf-8 である限り正常に動作しますが、静的html 文字が正しく機能しません。ヘッダーの文字セットを ISO-8859-9 に設定すると、html 文字は正常に機能しますが、変数が異なって表示されます。誰か助けてもらえますか? Utf8 エンコーディング: http://oi48.tinypic.com/289kje1.jpg html タグには値の表示に問題があります。 /287n2ph.jpg今回はhtmlはOKなのですが、phpのデータが間違って表示されています。

<?php
    header('Content-Type: text/html; charset=ISO-8859-9');
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>noname</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

4

2 に答える 2

9

以下のように、ファイルの先頭にコンテンツタイプを明示的に追加してみてください

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

以下をコードから削除します。

header('Content-Type: text/html; charset=ISO-8859-9');

アップデート:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php echo "for example Ş and İ "; ?>   
</body>
</html>

上記のコードは私に以下の出力を与えます:

ここに画像の説明を入力してください

于 2012-11-22T16:59:50.873 に答える
0

したがって、ブラウザに UTF-8 として解釈するように指示すると、データベースからのデータが機能します。つまり、データは UTF-8 でエンコードされます。ブラウザーに ISO-8859 として解釈するように指示すると、HTML コードは機能します。つまり、HTML は ISO-8859 でエンコードされます。

したがって、encodings が混在するドキュメントがあります。その2つを一緒に持ってきてください。ソース コード ファイルを UTF-8 として保存し、ブラウザーにそれを UTF-8 として解釈するように指示するか、ISO-8859 でデータベースからデータを取得し、ブラウザーにそのように解釈するように指示します。

于 2012-11-22T17:05:44.830 に答える