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

Форум MySQL

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

 

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

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

тема: Не отображаются русские буквы

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

 
 автор: cheops   (01.10.2006 в 12:31)   письмо автору
 
   для: Gagus   (01.10.2006 в 00:46)
 

Кодировку latin1 следует сменить на cp1251, в PHP-коде сразу после того, как устанавливаете соединение с MySQL-сервером, необходимо настроить кодировку при помощи запроса
<?php
  mysql_query
("SET NAMES 'cp1251'");
?>

   
 
 автор: Gagus   (01.10.2006 в 00:46)   письмо автору
 
   для: cheops   (29.09.2006 в 10:55)
 

Сам не понял как, но у меня все получилось! Все отображается по русски. Теперь вот какая проблема. Установил PHPmyAdmin. Открываю в нем базу свою, таблицу всепо-русски.У таблицы кодировка 1251. Теперь создаю через Admin базу и вней таблицу, завожу записи, просматриваю через обзор - знаки вопросов. Командами в Mysql тоже самое. Кодировка у таблицы latin1. Но ведь она задается Adminom. Как поправить ситуфцию, помогите !!!!

   
 
 автор: cheops   (29.09.2006 в 10:55)   письмо автору
 
   для: Gagus   (28.09.2006 в 23:14)
 

1) В свойствах посмотрите шрифт - выбран Lucida Console или точечный?
2) после смены кодировки, набирите команду chcp без параметров - что она выдаёт?
3) У вас какая операционная система?

   
 
 автор: Gagus   (28.09.2006 в 23:14)   письмо автору
 
   для: cheops   (28.09.2006 в 12:24)
 

Проверил как Вы сказали, все тоже самое.

   
 
 автор: cheops   (28.09.2006 в 12:24)   письмо автору
 
   для: Gagus   (28.09.2006 в 10:22)
 

1) Команду chcp1251 следует писать с пробелом chcp - это команда, а 1251 - это параметр
сhcp 1251

Поэтому у вас судя повсему и DOS-ская кодировка остаётся, что команда не срабатывает.
9) Это нормально, но если вам не удобно хранить их там, можно организовать виртуальный хост и указать любую другую директорию для хранения PHP и HTML-файлов http://www.softtime.ru/article/index.php?id_article=24.

   
 
 автор: Gagus   (28.09.2006 в 10:22)   письмо автору
 
   для: cheops   (27.09.2006 в 22:35)
 

1.В командной строке DOS выполняю команду chcp1251
2.Пишу команду mysql -u root -p ввожу пароль
3.В командной строке mysql создаю две таблицы.
4.При создании таблиц после type=myisam пишу charset=cp1251.( надо ли это делать?)
5.Проверяю кодировку таблиц SHOW CREATE TABLE имя таблицы, выдается сообщение default charset=cp1251.
6.В браузере открываю файл forma.html и ввожу данные.Сообщение: данные были успешно внесены.
7. В браузере открываю файл otchet.php там пусто. Сообщений никаких нет. ( а если при создании таблиц не выполнять пункт 4- то при открытии отчета будут знаки вопроса)
8.Если выполнить в командной строке mysql selest * from имя таблицы -то будут знаки вопроса, если выполнить команду set names 'cp866' , а потом select то станет все по- русски. Но в файле отчет в браузере, пустота.
9.И еще один дурацкий вопрос. Файлы: forma.html, otchet.php, handler.php записаны все в один каталог
C:\Program Files\Apache Group\Apache2\htdocs\SCRIPTS правильно ли это? Подскажите , а!!!!

   
 
 автор: cheops   (27.09.2006 в 22:35)   письмо автору
 
   для: Gagus   (27.09.2006 в 21:39)
 

>Кодировку в командной строке DOS и в Mysql устанавливал.
Опишите вашу последовательность действий? Вы данные набивате в консольной утилите mysql? Перед тем как набивать русский текст выполняете запрос?
SET NAMES 'cp1251'


PS тему не нужно дублировать, можно на неё просто сослаться.

   
 
 автор: Gagus   (27.09.2006 в 21:39)   письмо автору
 
 

Прочитал на форуме, то что вы советовали одному userу и сделал тоже самое, но у меня при открытии файла отчет вместо русских букв отображаются знаки вопроса. Кодировку в командной строке DOS и в Mysql устанавливал. Помогите понять почему такое проиходит?
Это копия Вашей переписки с userом и то , что я сделал.
Помогите пожалуйста элементарно создать какую нибудь таблицу и с помощью PHP вносить туда данные. Или типа что нибудь токого. Мне главное разобраться с принципом работы mySql.

Ответить

автор: cheops (14.06.2006 в 12:41) письмо автору
Таблицу следует создавать в MySQL Front или в каком-нибудь другом клиенте. Запустите MySQL Front и укажите в качестве адреса сервера localhost, в качестве имени пользователя root, в качестве пароля пустую строку. Выберите базу данных test и создайте в ней таблицу
CREATE TABLE tbl (
field1 text NOT NULL,
field2 text NOT NULL,
field3 text NOT NULL,
field4 text NOT NULL
) TYPE=MyISAM;


Ответить

автор: Roo$ (14.06.2006 в 21:04) письмо автору
Создал таблицу. Теперь что дальше делать? Таблицу создавал второй прогай (Font)

Ответить

автор: Boss (14.06.2006 в 21:20) письмо автору
А дальше вам надо определиться что вы хотите получить из этой таблицы.
Но сначала надо внести данные в эту таблицу.

Ответить

автор: Roo$ (14.06.2006 в 22:34) письмо автору
А как вводить данные? Я хочу вводить данные через форму, например. Допустим у меня на форме есть text поле и button кнопка. По нажатию по кнопке данные, которые были введены в поле text, сохраняются в базу данных..

Ответить

автор: cheops (14.06.2006 в 22:47) письмо автору
Для этого следует создать код новую таблицу с одним текстовым полем
CREATE TABLE tbl1 (
field1 text NOT NULL,
) TYPE=MyISAM;

Далее необходимо создать HTML-форму
<form action=handler.php method=post>
<input type=text name=name>
<input type=submit value='Записать'>
</form>

HTML-форма отправит информацию обработчику handler.php, который может иметь следующий код
<?php
// Устанавливаем соединение с базой данных
require_once("config.php");
// Экранируем спец-символы
if (!get_magic_quotes_gpc())
{
$_POST['name'] = mysql_escape_string($_POST['name']);
}
// Формируем SQL-запрос на добавление информации
$query = "INSERT INTO tbl1 VALUES('$_POST[name]')";
if(!mysql_query($query)) exit(mysql_error());
else echo "Данные успешно добавлены";
?>

Для успешной работы данного скрипта, понадобится вспомогательный файл config.php, который устанавливает соединение с базой данных
<?php
// Адерс сервера MySQL
$dblocation = "localhost";
// Имя базы данных, на хостинге или локальной машине
$dbname = "shop";
// Имя пользователя базы данных
$dbuser = "root";
// и его пароль
$dbpasswd = "";

// Устанавливаем соединение с базой данных
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx) {
exit( "<P>В настоящий момент сервер базы данных не доступен,
поэтому корректное отображение страницы невозможно.</P>" );
}
// Выбираем базу данных
if (! @mysql_select_db($dbname, $dbcnx) ) {
exit( "<P>В настоящий момент база данных не доступна,
поэтому корректное отображение страницы невозможно.</P>" );
}

// Определяем версию сервера
$query = "SELECT VERSION()";
$ver = mysql_query($query);
if(!$ver) exit("Ошибка при определении версии MySQL-сервера");
$version = mysql_result($ver, 0);
list($major, $minor) = explode(".", $version);
// Если версия выше 4.1 сообщаем серверу, что будем работать с
// кодировкой cp1251
$ver = $major.".".$minor;
if((float)$ver >= 4.1)
{
mysql_query("SET NAMES 'cp1251'");
}
?>


Ответить

автор: Roo$ (14.06.2006 в 23:35) письмо автору
Теперь как мне вывести (прочитать) эти сведения (внесенные в таблицу) в отдельную форму (например otchet.php)

Ответить

автор: cheops (14.06.2006 в 23:57) письмо автору
Для этого обычно используют скрипт
<?php
// Устанавливаем соединение с базой данных
require_once("config.php");

// Формируем SQL-запрос на извлечение информации
$query = "SELECT * FROM tbl1";
$tbl = mysql_query($query);
if(!$tbl) exit(mysql_error());
// Если имеется хоть одна запись - выводим
if(mysql_num_rows($tbl))
{
while($table = mysql_fetch_array($tbl))
{
echo $table['field']."<br>";
}
}
?>

   

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

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

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