2011-11-16 17 views
2

外部XMLファイルをロードしています。xml php mysql utf-8:ギリシャ文字がxmlで正しく表示されない

いくつかのノード値を取得し、選択フォームとしてhtmlでemを出力し、ユーザーが入力したテキストをmysqlに保存します。

mysqlに挿入される文字はギリシャ語です。

PHPで私のSQL接続の後に "SET NAMES utf-8"、私のnotpad ++エディタでutf-8エンコーディング、私のテーブルのutf-8_general_ciを私のhtmlヘッドでutf8メタを使用します。 dtbsは作成された照合はラテンと私は手動でそれをutf8に変更しました。すべてが正しくmysqlに渡されます。

今まで私の選択に従ってXMLを生成していた機能がありました。xmlのノード名と値は、mysql query.Worksと同じですが、英語の文字にはぴったりですが、ギリシャ語の場合は疑問符「?」)が印刷されます。また、私は既に新しいdomdocument呼び出しにutf8オプションを追加しました。

私のXML上でギリシャ語の文字を取得するにはどうすればよいですか? ありがとうございます。

+0

あなたはUTF-8としてXMLエンコーディングを定義したことがありますか? – PravinS

+0

私のxmlエンコーディングはutf-8でした。 – Alx

+0

@Alx:あなたの解決策を実際の回答に入れてもいいですか?このようにして、あなたの答えを投票することができ、「未回答」リストをより明確に保つのに役立ちます。ありがとうございました。 –

答えて

1

ソリューション:

require("db.php");//Holds the connect info 

$sql = mysql_connect($hostname , $username , $password) 
**mysql_set_charset('utf8',$sql);** 
$dtbs = mysql_select_db("hyb",$sql); 

mysql_set_charsetは仕事をしました。 私はここで定義された照合と文字セット魔女の違いを逃した:

文字セットがシンボルとエンコーディングのセットです。照合とは、文字セット内の文字を比較する一連のルールです。想像上の文字セットの例を使って区別を明確にしましょう。

「A」、「B」、「a」、「b」の4文字のアルファベットがあるとします。 "A" = 0、 "B" = 1、 "a" = 2、 "b" = 3。文字 "A"は記号であり、数字0は "A" 4つの文字とそれらのエンコードの組み合わせは文字セットです。

Character Sets and Collations in General

関連する問題