У меня есть тайский, японский, корейский персонаж (3 поля) в файле доступа.
Я создал скрипт в 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>
<? 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>
Я не уверен в ODBC, но теперь я для MySQL должен предоставить команду для базы данных, которая по умолчанию должна быть UTF-8, если вы хотите, чтобы символы UTF8 отображались правильно.
Подумайте о том, как выполнить необработанную команду SQL в базе данных:
SET NAMES 'utf-8'