• Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Проблема кодировки с баз данных

An27

МАСТЕР
Регистрация
03.07.2010
Сообщения
1,734
Реакции
613
Поинты
43.430
О проблемах с кодировкой при чтении данных с баз данных написано очень много. Только за последние 4 часа я прочитал не один десяток статей.
Но у меня все равно возникает несколько вопросов.
Исходник:
1) файл index.php
2) файл text.php
3) кодировка в базе данных задана utf8
4) кодировка на странице index.php задана utf-8
5) в файле text.php кодировка не стоит, только после запроса к БД

Файл index.php выводит include в одном месте файла text.php
Код файла index.php:
Код:
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCtype html5>
<html><head><title>uuuuuuu </title></head><body>
<?
include 'text.php';
?>

</body>
</html>
Код файла text.php:
Код:
<?php
session_start(); 

if ($_SESSION["Login"] == "YES") {
$baza_daniz = mysql_connect(------------- or die(mysql_error());
mysql_select_db('-----z');
mysql_set_charset('utf8');
$otsop='SELECT * FROM -----ORDER BY id';
$sorti=mysql_query($otsop);
while ($pasorti = mysql_fetch_array($sorti)) {
echo "$pasorti['Phone']";
}
mysql_close($baza_daniz);
} else {
echo 'закрыto;-)';
}
?>
Вопросы:
1. Почему если я удаляю mysql_set_charset('utf8');, то в index.php показываются крякозябры, если БД имеет кодировку utf?
2. Если в файле index.php прописана кодировка (для отображения конечному пользователю) и данные с таблицы норм отображаются, а сам файл text.php имеет только после запроса с БД кодировку - почему крякозябры если открывать напрямую страницу text.php? Из-за того, что тексту (браузеру) не задана кодировка? Как тогда поступать, ведь при инклуде кодировка будет повторяться.?
 

mrGekko

Любитель
Регистрация
20.03.2015
Сообщения
344
Реакции
311
Поинты
0.000
Попробуйте прописать AddDefaultCharset UTF-8 в файле .htaccess
Мб сервер криво отдает кодировку.
И на всякий пожарный задайте кодировку для обоих файлов UTF-8 without BOM, сделать это можно, например, в Notepad++.
 

An27

МАСТЕР
Регистрация
03.07.2010
Сообщения
1,734
Реакции
613
Поинты
43.430
задайте кодировку для обоих файлов UTF-8 without BOM
через Notepad++ сразу сделал это все - не помогло.
Еще говорят в mysql.ini прописать правила кодировки, но мне хостер не дает таких прав :)
Попробуйте через .htaccess сделать, спасибо.
 
Сверху Снизу