2011-08-02 18 views
0

私はMysqlデータベースを構築しており、所有者と飼い猫の飼育者の詳細と動物の詳細を保持しています。情報はPHPを介して更新され、表示されます。これの一環として、私は連絡先が記載されたページと、連絡先が(ドロップダウンを介して)所有者またはブリーダーのいずれかの動物に割り当てられる他のページを持っています。データベース接続はヘッダ(関数で呼び出されます)に設定され、各クエリの最後に閉じられます。ヘッダーにMysql文字セットが設定されています。結果はページによって異なります

連絡先のドロップダウンリストで一部の文字(例:É)が正しく表示されていないことがわかりましたが、リストページでは問題ありませんでした。しかし、リストのページは現在、トラブルを引き起こしている - ここで提起前のquestonsに見えた(Special characters in PHP/MySQLは)私がutf8_bin、および

<?php 
$con = mysql_connect("localhost", "user", "pass"); 
mysql_select_db("db", $con); 
mysql_set_charset('utf8',$con); 
?> 
これは完全にドロップダウンリストの問題を解決し

経由でDBに接続するために私のテーブルの照合順序を設定します。 (Éは今や‰です)。私のブラウザはWestern ISO-8859-1に設定されていましたが、それをUTF-8に変更しても役に立たなかった。エコーアウト

$charset = mysql_client_encoding($con); 
echo "The current character set is: $charset\n"; 

リストの最後にuft8が返されます。私のバムは泡立つ。

アドバイスをいただければ幸いです!

(Psは見越して:あまりにも言語は、英語、いくつかのアイルランドのゲール語で圧倒的になり、そしておそらくいくつかのフランス語&はドイツ私はLatin1のエンコーディングで上記のすべてをも試してみました。。)

EDIT :

  • が接続($詐欺)のための文字セットを設定し
  • が設定:

    は、問題を修正するには列のでテーブルのデータの照合が不十分です

  • メタタグを使用してヘッダーにHTML文字セットを宣言していることを確認しました。

答えて

0

表示コードの一覧を表示すると、何とかHTMLがutf8エンコードされている可能性があります。そこにあるutf8_encodeのコールを削除します。

HTMLページ自体にエンコード宣言がありません。これは、ページに特定の文字セットがあることをブラウザに伝えるために必要です。

+0

あなたは、リスト自体のhtml内で文字セットを指定する必要があることを意味しますか? – Eamonn

+0

いいえリストをutf8_encodesするコードを削除します。 – cweiske

+0

....しかし、私のドロップダウンは正しく読み込まれません。それは私の問題です - 私は1つを修正する場合は、他の休憩!ヘッダーではなく、ページごとにcharsetを設定することをお勧めしますか? – Eamonn

関連する問題