2012-10-21 52 views
2

我在Access文件中有泰文,日文,韓文字符(3字段)。如何在連接到ACCESS 2007(ODBC)時在PHP上設置UTF8

我創建了PHP腳本顯示連接到這個文件

,但性格上顯示??????? ???????和?

如何設置正常顯示字符

這是我的腳本

<html> 
<head> 
<title>TEST</title> 
</head> 
<body> 
<? 
$objConnect = odbc_connect("test","","") or die("Error Connect to Database"); 
$strSQL = "SELECT * FROM table1"; 
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]"); 
?> 
<table width="600" border="1"> 
    <tr> 
    <th width="20"> <div align="center">ID </div></th> 
    <th width="30"> <div align="center">Thai </div></th> 
    <th width="30"> <div align="center">Korea </div></th> 
    <th width="30"> <div align="center">Japan </div></th> 

    </tr> 
<? 
while($objResult = odbc_fetch_array($objExec)) 
{ 
?> 
    <tr> 
    <td><?=$objResult["ID"];?></div></td> 
    <td><?=$objResult["Thai"];?></td> 
    <td><?=$objResult["Korea"];?></td> 
    <td><?=$objResult["Japan"];?></div></td> 
    </tr> 
<? 
} 
?> 
</table> 
<? 
odbc_close($objConnect); 
?> 
</body> 
</html> 
+0

PHP的哪個版本?舊版本不支持utf-8 –

回答

3
<? 
    header('Content-Type: text/html;charset=utf-8'); 
?> 

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

<body> 

<? 
$objConnect = odbc_connect("test","","") or die("Error Connect to Database"); 
odbc_exec($objConnect, "SET NAMES 'UTF8'"); 
odbc_exec($objConnect, "SET client_encoding='UTF-8'"); 

... 

或者嘗試在行:

<td><?=mb_convert_encoding($objResult["Japan"], "SJIS");?></td> 
+0

我嘗試添加這個文件,但它仍然顯示???? – Zerround

+0

你可以在firefox/firebug中查看頁眉?如果你在數據庫上做了選擇,字符顯示OK? – Mate

-1

我不知道有關ODBC,但我現在爲MySQL,你必須給數據庫的命令,默認編碼應該是UTF-8,如果你想要顯示UTF8字符RLY。

考慮執行原始SQL命令數據庫是這樣的:

SET NAMES 'utf-8' 
+0

正確的MySQL查詢是'SET NAMES'utf8'',加上他要求訪問。 – Pere