$info = '<table width="100%" border="1">
$sql = 'SELECT id, name, address FROM '.CITES_TABLE.'';
$result = db_query ($sql);
while ($row = mysql_fetch_assoc($result))
{
sp_debug("row", $row); // Отладочный вывод в файл
$info.='<tr>
<td>'.htmlspecialchars(utf8_decode($row['name'])).'</td>
<td>'.htmlspecialchars($row['address']).'</td>
<td><a href="'.$row['address'].'">Перейти</a></td>
<td><a href="admin.php?action=editcite&id='.$row['id'].'">Редактировать</a></td>
<td><a href="admin.php?action=viewlogins&citeid='.$row['id'].'">Логины</a></td>
<td><a href="admin.php?action=viewcontacts&citeid='.$row['id'].'">Контакты</a></td>
</tr>';
}
$info.='</table>';
Непонятка с кодировками - MySQL или что ещё
Так вот, добавил через тот же PMA строку в таблицу, содержащую русский текст.
После этого сам ПМА отображает её нормально, по-русски, а мой скрипт - не хочет (идут вопросительные знаки), причём сделал отладочный вывод содержимого $row['name'] в файл, там те же вопросы. utf8_encode не помогает.
Знаю, что ламер, но может подскажете, как исправить? :)
Код:
P. S. По поводу странного способа отладки не удивляйтесь - мой PHP expert editor не хочет отлаживать - по этому поводу создал тему http://forum.codenet.ru/showthread.php?t=48786
Код:
//***********************************//
//***** DATABASE CONFIG ****//
//***********************************//
$DB_NAME = "dbname";
$DB_CHARSET = "utf8";
$DB_HOSTNAME = "localhost";
$DB_USERNAME = "root";
$DB_PASSWORD = "";
$cLink = mysql_connect( $DB_HOSTNAME , $DB_USERNAME , $DB_PASSWORD );
$DB_Link = mysql_select_db( $DB_NAME , $cLink );
$Query = "SET NAMES \"".$DB_CHARSET."\"";
mysql_query( $Query , $cLink );
//***** DATABASE CONFIG ****//
//***********************************//
$DB_NAME = "dbname";
$DB_CHARSET = "utf8";
$DB_HOSTNAME = "localhost";
$DB_USERNAME = "root";
$DB_PASSWORD = "";
$cLink = mysql_connect( $DB_HOSTNAME , $DB_USERNAME , $DB_PASSWORD );
$DB_Link = mysql_select_db( $DB_NAME , $cLink );
$Query = "SET NAMES \"".$DB_CHARSET."\"";
mysql_query( $Query , $cLink );