2012-02-03 56 views
1

我在顯示希臘語MS Access 2007表中列的文本時出現問題。我使用PHP和$dbc = @odbc_pconnect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $pass);從本地.mdb文件讀取。我可以成功讀取數據庫中拉丁字符中的其餘數據。當我回復結果時,希臘字符顯示爲。 html charset已正確設置爲utf-8。我試過用沒有運氣的utf8_encode。我一直在網上搜索一段時間沒有,但無法弄清楚。無法顯示希臘字符.mdb文件(PHP和ODBC)

任何幫助,將不勝感激。

Kyris

回答

3

.mdb格式,是微軟的發明不使用Unicode,而是Windows-的一個代碼頁。檢查您希望使用哪一個,並使用iconv在編碼之間進行轉換。

+0

感謝的人。我已經使用iconv轉換Windows-1252,因爲我認爲這是默認的.mdb文件,但我沒有想到爲希臘字符尋找不同的代碼頁。爲了記錄,希臘語是Windows-1253和iconv()完成了這項工作。再次感謝! – Kyris 2012-02-03 21:27:07

+0

太棒了!我花了一些時間來計算一下:) – Mchl 2012-02-03 21:29:14

+0

嘿夥計。我有另一個相關的問題。雖然結果在我的本地機器上正確顯示(使用XAMPP),但當我使用GoDaddy將該網站上載到Windows主機計劃時,這些字符再次無法正確顯示。顯然iconv()會將它們轉換爲UTF-8(因爲如果我不使用這個函數,它們會以不同的方式顯示),但是這次顯示了問號(沒有黑色背景色)。可能是什麼問題呢?也許與我的託管計劃有關? – Kyris 2012-02-06 20:12:27

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);