|
|
|
| Добрый день(вечер)!
Часть кода:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
//переменная для подсчета количества записей
$nom = 0;
$ath = mysql_query("SELECT familiya, imya, otchestvo,
pol, tabelniy, mesto, dolgnost From osnovnie
ORDER BY familiya, imya, otchestvo;");
if($ath)
{
// Определяем таблицу и заголовок
echo "<table border=1>";
echo "
<tr><td><b>Фамилия
</td><td><b>Имя
</td><td><b>Отчество
</td><td><b>Пол
</td><td><b>Табельный
</td><td><b>Место
</td><td><b>Должность
</td><td><b>№ п/п
</b></td></tr>";
// Так как запрос возвращает несколько строк, применяем цикл
while($author = mysql_fetch_array($ath))
echo"<tr><td>"
.$author['familiya']." </td><td>"
.$author['imya']." </td><td>"
.$author['otchestvo']." </td><td>"
.$author['pol']." </td><td>"
.$author['tabelniy']." </td><td>"
.$author['mesto']." </td><td>"
.$author['dolgnost']." </td><td>"
.$nom = $nom + 1;
echo"</table>";
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
echo("<P><b>Всего записей: ".$nom."</b></P>");
Если закоментировать любую из нижеприведенных строк, то результат выводится в нормальном виде иначе,- иероглифы.
// .$author['tabelniy']." </td><td>"
// .$author['mesto']." </td><td>"
// .$author['dolgnost']." </td><td>"
Пожалуйста помогите решить данную проблему! | |
|
|
|
|
|
|
|
для: anatoliy
(22.04.2007 в 13:29)
| | Иероглифы как выглядят? | |
|
|
|
|
|
|
|
для: cheops
(22.04.2007 в 13:46)
| | Выглядят вот так:
Âåđñèÿ ñåđâåđà MySQL - 5.0.24a-community-nt
ниже названия заголовков таблицы
Ôà́èëèÿ È́ÿ Ị̂÷åṇ̃âî Ïîë ̉àáåëüíûé ̀åṇ̃î Äîëæíîṇ̃ü ¹ ï/ï
а когда закоментировать любою из строк:
// .$author['tabelniy']." </td><td>"
// .$author['mesto']." </td><td>"
// .$author['dolgnost']." </td><td>"
тогда
Версия сервера MySQL - 5.0.24a-community-nt
ниже названия заголовков таблицы
№ п/п Фамилия Имя Отчество № п/п | |
|
|
|
|
|
|
|
для: anatoliy
(22.04.2007 в 16:33)
| | стало ещё лучше,- ввёл в текст письма иероглифы, а на странице получаются ихние коды.
Пробую ещё раз:
Âåđñèÿ ñåđâåđà MySQL - 5.0.24a-community-nt
Ôà́èëèÿ È́ÿ Ị̂÷åṇ̃âî Ïîë ̉àáåëüíûé ̀åṇ̃î Äîëæíîṇ̃ü ¹ ï/ï | |
|
|
|
|
|
|
|
для: anatoliy
(22.04.2007 в 16:38)
| | В какой кодировке формируется страница с html-таблицей?
В какой кодировке хранятся данные в таблице sql?
В какой кодировке sql-сервер возвращает результат? | |
|
|
|
|
|
|
|
для: Trianon
(22.04.2007 в 21:10)
| | 1
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
2
CP1251
3
Выдержка из my.ini
# MySQL Server Instance Configuration File
[mysqladmin]
default-character-set=cp1251
# SERVER SECTION
# ----------------------------------------------------------------------
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
init-connect=SET NAMES cp1251
skip-character-set-client-handshake
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"
#Path to the database root
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=cp1251
При просмотре генерируемой страницы IE6 обнаружил следующее:
кодировка шрифта стоит в режиме, - автовыбор
и он (шрифт) почему-то автоматически определяется как
вьетнамский Windows
при принудительном переключении в кирилица Windows
всё выводится нормально. Возникает вопрос: где и как PHP
формирует страницу с признаками вьетнамской Windows !? | |
|
|
|
|
|
|
|
для: anatoliy
(22.04.2007 в 22:03)
| | mysql_query ("set character_set_results='cp1251'");
init-connect=SET NAMES cp1251
Это ответ на мои вопросы 2 и 3
Страницу формирует apache и php.
php - если указывает явно тип документа функцией header("Content-Type: ...");
а в противном случае апач - директивой AddDefaultCharset из ближайшего .htaccess
У Вас, видимо, не указан.
Пропишите в корне сайта в .htaccess
AddDefaultCharset windows-1251
|
| |
|
|
|
|
|
|
|
для: Trianon
(22.04.2007 в 22:15)
| | Ответ на первый вопрос как я понял это то, что мне надо прописать?
Вы уж извините, в освоении PHP делаю только первые шаги.
Прописать в корне сайта в .htaccess: я не понял где это и как?
Сделал следующее:
в файле httpd.conf в секции
Options Indexes FollowSymLinks
прописал указанную Вами строку
AddDefaultCharset windows-1251
И о чудо заработало !!!
Огромнейшее Вам спасибо !!!
Пожалуйста подскажите правильно ли я прописал указанную
Вами строку и что такое прописать в корне сайта в .htaccess
Ещё раз спасибо ! | |
|
|
|
|
|
|
|
для: anatoliy
(23.04.2007 в 00:00)
| | В принципе, нормально сделали.
Опции можно назначать на все сайты, которые обеспечивает апач (это тот способ, который Вы применили) а также отдельно на любой конкретный сайт, и на любой подкаталог (включая вложенные) конкретного сайта. В этих случаях в каталоге сайта, которому нужно указать специфические опции, создают файл с именем .htaccess и строки конфигурации помещают в этот файл. | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2007 в 09:26)
| | Огромное спасибо Trianon за ответы! Тема закрыта. | |
|
|
|