|
|
|
| Пытаюсь из базы достать поля:
$db = mysql_connect ("localhost","alex","alex");
mysql_select_db ("firstdb",$db);
$result = mysql_query("SELECT * FROM firma", $db);
$myrow = mysql_fetch_array($result);
do
{
echo $myrow["name"].' - '.$myrow["dolgn"].' - такая должность <br>';
}
while ($myrow = mysql_fetch_array($result));
|
Выдает результат:
??????? - ???????? - такая должность
?????? - ??????????? - такая должность
????? - ??????? ??? - такая должность
?????? - ????????? ?????? ??? - такая должность
Установлен:
* Apache/2.2.11 (Win32) PHP/5.2.9
* Версия MySQL-клиента: 5.0.51a
Версия сервера: 5.0.77-community-nt
Версия протокола: 10
MySQL-кодировка: UTF-8 Unicode (utf8)
При экспорте, например, в XML, да и в базе данных все отлично читаемо.
Как разобраться с проблемой? Куда смотреть? ткните носом, плз... | |
|
|
|
|
|
|
|
для: SemenovOleg
(14.03.2009 в 16:46)
| | >MySQL-кодировка: UTF-8 Unicode (utf8)
Это phpMyAdmin сообщает? Или у таблиц и данных в них кодировка utf8? Если таблицы снабжены кодировкой utf8, следует выполнить запрос SET NAMES utf8.
<?php
$db = mysql_connect ("localhost","alex","alex");
mysql_select_db ("firstdb",$db);
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM firma", $db);
$myrow = mysql_fetch_array($result);
do
{
echo $myrow["name"].' - '.$myrow["dolgn"].' - такая должность <br>';
}
while ($myrow = mysql_fetch_array($result));
?>
|
Если кодировка отлична от utf8, следует использовать другое название в запросе SET NAMES.
PS Кстати, почему вы используете цикл с постусловием? У вас же первая строка из-за этого должна быть пустой. Может удобнее воспользоваться прямым циклом while()? | |
|
|
|
|
|
|
|
для: cheops
(14.03.2009 в 17:25)
| | Сделал следующее:
<?php
$db = mysql_connect ("localhost","alex","alex");
mysql_select_db ("firstdb",$db);
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM firma", $db);
while ($myrow = mysql_fetch_array($result))
{
echo $myrow['name'].' - '.$myrow['dolgn'].' - такая должность <br>';
}
?>
|
Результат:
Алексей - директор - такая должность
Андрей - заместитель - такая должность
Семен - инженер РџРўРћ - такая должность
Михаил - начальник отдела СЃР±С‹ - такая должность
Чую, что где-то в кодировках, буду искать, спасибо за подсказку.
Насчет постусловия - действительно, исправил... | |
|
|
|
|
|
|
|
для: cheops
(14.03.2009 в 17:25)
| | При переходе на странице на кодировку utf-8 данные из базы исправились, но текст, написанный в dreamwiver-e выводится в виде ???:
<?php
$db = mysql_connect ("localhost","alex","alex");
mysql_select_db ("firstdb",$db);
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM firma", $db);
while ($myrow = mysql_fetch_array($result))
{
echo $myrow['name'].' - Имя, на должности ';
echo $myrow['dolgn'].' <br>';
}
?>
|
дает в результате
Алексей - ���, �� ��������� директор
Андрей - ���, �� ��������� заместитель
Семен - ���, �� ��������� инженер ПТО
Михаил - ���, �� ��������� начальник отдела сбы
Где настраивается кодировка самого dreamwiver? Версия 9.0, build 53. | |
|
|
|
|
|
|
|
для: SemenovOleg
(14.03.2009 в 19:23)
| | Победил! Просто надо файл сохранить со свойством "форма приведенная к Юникоду", как декомпозиция совместимости. (правда, я сам не понял, что это такое, но работает... ;-) | |
|
|
|