Изображения из mysql

Рейтинг: 0Ответов: 1Опубликовано: 06.12.2014

Такая проблема:

$q = "select * from foto";
$r = mysql_query($q);
$result = mysql_query($q) or die('Error, query failed');
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "$row[content]"; }

Выводит полную ерунду типа

"����&��>e����S�����{Q�`��"

Как исправить?

Ответы

▲ 1

Все зависит от выбранной Вам кодировкой.

Вначале вставьте вот такую строку и все будет работать!

mysql_query('SET NAMES cp1251');
или
mysql_query('SET NAMES utf8');

Это используется для указания кодировки записываемых данных, а в Вашем случае необходимо поменять либо кодировку БД или кодировку Вашего проекта!

UPD

Для начало проще всего поменять кодировку на сайте, делается это изменением в файле .htaccess: Добаляете/изменяете код:

php_value mbstring.internal_encoding UTF-8

И потом в файле php.ini правите строку:

mbstring.func_overload 2

Обновление

Поясню более подробно! Надо написать точно такую строку (ничего изменять не надо):

mysql_query('SET NAMES utf8');

Вставляешь эту строку второй, после:

$conn = mysql_connect("localhost", "root", "");

Если у Вас foto2 является бинарным типом. То для вывода на сайте нужно указать header: header("Content-type: image/jpg ");

Указывается вначале шаблона(view).