Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вместо русских букв иероглифы

Сообщения:  [1-10] 

 
 автор: anatoliy   (23.04.2007 в 19:02)   письмо автору
 
   для: Trianon   (23.04.2007 в 09:26)
 

Огромное спасибо Trianon за ответы! Тема закрыта.

   
 
 автор: Trianon   (23.04.2007 в 09:26)   письмо автору
 
   для: anatoliy   (23.04.2007 в 00:00)
 

В принципе, нормально сделали.

Опции можно назначать на все сайты, которые обеспечивает апач (это тот способ, который Вы применили) а также отдельно на любой конкретный сайт, и на любой подкаталог (включая вложенные) конкретного сайта. В этих случаях в каталоге сайта, которому нужно указать специфические опции, создают файл с именем .htaccess и строки конфигурации помещают в этот файл.

   
 
 автор: anatoliy   (23.04.2007 в 00:00)   письмо автору
 
   для: Trianon   (22.04.2007 в 22:15)
 

Ответ на первый вопрос как я понял это то, что мне надо прописать?
Вы уж извините, в освоении PHP делаю только первые шаги.
Прописать в корне сайта в .htaccess: я не понял где это и как?
Сделал следующее:
в файле httpd.conf в секции
Options Indexes FollowSymLinks
прописал указанную Вами строку
AddDefaultCharset windows-1251
И о чудо заработало !!!
Огромнейшее Вам спасибо !!!
Пожалуйста подскажите правильно ли я прописал указанную
Вами строку и что такое прописать в корне сайта в .htaccess
Ещё раз спасибо !

   
 
 автор: Trianon   (22.04.2007 в 22:15)   письмо автору
 
   для: 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

   
 
 автор: anatoliy   (22.04.2007 в 22:03)   письмо автору
 
   для: 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 !?

   
 
 автор: Trianon   (22.04.2007 в 21:10)   письмо автору
 
   для: anatoliy   (22.04.2007 в 16:38)
 

В какой кодировке формируется страница с html-таблицей?
В какой кодировке хранятся данные в таблице sql?
В какой кодировке sql-сервер возвращает результат?

   
 
 автор: anatoliy   (22.04.2007 в 16:38)   письмо автору
 
   для: anatoliy   (22.04.2007 в 16:33)
 

стало ещё лучше,- ввёл в текст письма иероглифы, а на странице получаются ихние коды.
Пробую ещё раз:

Âåđñèÿ ñåđâåđà MySQL - 5.0.24a-community-nt
Ôà́èëèÿ È́ÿ Ị̂÷åṇ̃âî Ïîë ̉àáåëüíûé ̀åṇ̃î Äîëæíîṇ̃ü ¹ ï/ï

   
 
 автор: anatoliy   (22.04.2007 в 16:33)   письмо автору
 
   для: cheops   (22.04.2007 в 13:46)
 

Выглядят вот так:

Âåđñèÿ ñåđâåđà MySQL - 5.0.24a-community-nt
ниже названия заголовков таблицы
Ôà́èëèÿ È́ÿ Ị̂÷åṇ̃âî Ïîë ̉àáåëüíûé ̀åṇ̃î Äîëæíîṇ̃ü ¹ ï/ï

а когда закоментировать любою из строк:

// .$author['tabelniy']."&nbsp;</td><td>"
// .$author['mesto']."&nbsp;</td><td>"
// .$author['dolgnost']."&nbsp;</td><td>"
тогда

Версия сервера MySQL - 5.0.24a-community-nt
ниже названия заголовков таблицы
№ п/п Фамилия Имя Отчество № п/п

   
 
 автор: cheops   (22.04.2007 в 13:46)   письмо автору
 
   для: anatoliy   (22.04.2007 в 13:29)
 

Иероглифы как выглядят?

   
 
 автор: anatoliy   (22.04.2007 в 13:29)   письмо автору
 
 

Добрый день(вечер)!
Часть кода:

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']."&nbsp;</td><td>"
.$author['imya']."&nbsp;</td><td>"
.$author['otchestvo']."&nbsp;</td><td>"
.$author['pol']."&nbsp;</td><td>"
.$author['tabelniy']."&nbsp;</td><td>"
.$author['mesto']."&nbsp;</td><td>"
.$author['dolgnost']."&nbsp;</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']."&nbsp;</td><td>"
// .$author['mesto']."&nbsp;</td><td>"
// .$author['dolgnost']."&nbsp;</td><td>"

Пожалуйста помогите решить данную проблему!

   

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования