2012-02-03 7 views
1

ギリシャ語のMS Access 2007テーブルの列のテキストを表示する際に問題が発生しています。私はPHPと$dbc = @odbc_pconnect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $pass);を使用してローカルの.mdbファイルから読み込みます。ラテン文字のDB内の残りのデータを正常に読み取ることができます。結果をエコーすると、ギリシャ文字はと表示されます。 html文字セットはutf-8に正しく設定されています。私は運がないutf8_encodeを使ってみました。私はしばらくWebを検索していますが、それを理解できませんでした。ギリシャ文字を表示できません.mdbファイル(PHPおよびODBC)

ご協力いただければ幸いです。

Kyris

答えて

3

.mdb形式、Microsoftの発明は、Unicodeを使用していないというのではなく、1 Windows-のコードページ。どちらがギリシャ語に使用されているかを確認し、iconvを使用してエンコードを翻訳します。 exmpleとして

+0

感謝の男。私は実際にはiconvを使ってWindows-1252から変換しました。なぜなら、それは.mdbファイルのデフォルトだと思ったからですが、私はギリシャ文字のために別のコードページを探すとは思っていませんでした。記録のためには、ギリシャ語はWindows-1253、iconv()は仕事をしました。再度、感謝します! – Kyris

+0

驚くばかり!私はそれを一度考えて時間を費やしました:) – Mchl

+0

ねえメイト。別の関連する問題があります。結果は私のローカルマシン(XAMPPを使用)に正しく表示されていましたが、GoDaddyのWindowsホスティングプランにWebサイトをアップロードしたときに、文字が正しく表示されませんでした。どうやらiconv()はそれらをUTF-8に変換します(なぜなら、関数を使用しないと別々に表示されるためです)。今回は疑問符が表示されます(背景色は黒ではありません)。何が問題なの?おそらく、私のホスティングプランとは何か? – Kyris

0

echo 'TRANSLIT : ', iconv("Windows-1253", "UTF-8//TRANSLIT", $text); 
echo 'IGNORE : ', iconv("Windows-1253", "UTF-8//IGNORE", $text); 
echo 'Plain : ', iconv("Windows-1253", "UTF-8", $text); 
関連する問題