- сайт делается в кодировке utf8, о чем указано в заголовке страницы между тегами head: [code][/code]
- страница создается в редакторе в кодировке utf8
- сама база создана с указанием кодировки utf8
При этом получилось так, что при извлечении данных из базы я получал вместо строк с русским текстом знаки вопросов, хотя браузер правильно понимал кодировку.
Решение данной проблемы оказалось простым. Надо после соединения с MySql базой из PHP указать явную кодировку запросом set names utf8
Например, так:
$result = mysql_query ("set names utf8", $link);
где $link - линк на идентификатор соединения с базой (см. mysql_connect())
Всё, теперь данные выводятся в верной кодировке.
Вообще-то эта проблема имеет и другие корни с соответственно другими методами решения. Более подробно о проблемах с кодировками в MySQL можно почитать в следующих источниках:
- phpMyadmin по-русски. Очень доходчиво, по полочкам все разложено и в доступной краткой форме.
- PHP FAQ. Так же полезная информация, но еще рассказывается что делать если требуется перекодировка данных.
- Linux.by wiki pages. А это вообще целый вики на эту тему.