решил переделать и вот что получилось, как красиво вывести новость и как сделать что бы были русские буквы? Помогите пожалуйста
Вот пример моего кода (index.php):
<?
$sql = ("SELECT id,title,description,author,date,mini_img,comments,view FROM `news` ORDER BY date DESC, id DESC LIMIT 5");
$result3 = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
if (!$result3)
{
echo "<p>Запрос не прошел. Напишите об этом администратору adminmail@mail.ru <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
$table = "<table border=0 align='center' class='view_text_title'>\n";
while ($row = mysql_fetch_assoc($result3))
{
$table .= "<tr>\n";
$table .= "<td class='view_text_title1'>".$row['id']."</td>";
$table .= "<td>".$row['mini_img']."</td>";
$table .= "<td>".$row['title']."</td>";
$table .= "<td>".$row['description']."</td>";
$table .= "<td>".$row['author']."</td>";
$table .= "<td>".$row['date']."</td>";
$table .= "<td>".$row['comments']."</td>";
$table .= "<td>".$row['view']."</td>";
$table .= "</tr>\n";
}
$table .= "</table>\n";
echo $table;
Спустя 6 минут, 11 секунд (22.07.2010 - 16:58) twin написал(а):
Попробуй почитать еще эту тему. Если не поможет, свисти. )))
Спустя 4 минуты, 46 секунд (22.07.2010 - 17:03) inpost написал(а):
Итак, проблема именно в кодировке!
Что надо? Использовать везде одну и ту же кодировку! Если в базе данных ты поменял кодировку, то прийдется текст заново вносить! Кодировки должны быть прописаны для 100% эфективности (Если решил, чтоб все было хорошо, делай сразу в ЮТФ-8):
Общая кодировка Базы данных.
Кодировка самой таблицы в Базе данных (если поменял, переписать текст прийдется).
Далее в начале пхп страницы:
и последнее, в .htaccess прописываешь:
AddDefaultCharset UTF-8
Что надо? Использовать везде одну и ту же кодировку! Если в базе данных ты поменял кодировку, то прийдется текст заново вносить! Кодировки должны быть прописаны для 100% эфективности (Если решил, чтоб все было хорошо, делай сразу в ЮТФ-8):
Общая кодировка Базы данных.
Кодировка самой таблицы в Базе данных (если поменял, переписать текст прийдется).
Далее в начале пхп страницы:
<?php
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
header("Content-Type: text/html; charset=utf-8");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
и последнее, в .htaccess прописываешь:
AddDefaultCharset UTF-8
Спустя 30 минут, 49 секунд (22.07.2010 - 17:34) Onehp написал(а):
twin, прочел статью, решил сделать так:
Ничего не поменялось (добавлял новую запись в БД все равно так же)
inpost, Сделал как ты написал, только ошибка выскочила
И еще не понял как это сделать
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ничего не поменялось (добавлял новую запись в БД все равно так же)
inpost, Сделал как ты написал, только ошибка выскочила
Warning: Cannot modify header information - headers already sent by (output started at O:\home\localhost\www\hip-hop\bloki\bd.php:4) in O:\home\localhost\www\hip-hop\index.php on line 31
И еще не понял как это сделать
и последнее, в .htaccess прописываешь:
AddDefaultCharset UTF-8
Спустя 4 минуты, 54 секунды (22.07.2010 - 17:39) twin написал(а):
Цитата |
twin, прочел статью, решил сделать так: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
Плохо прочел... Я там как раз писал, что этого делать не нужно.
Ошибка у тебя в кодировках БД. База уже заполнена?
Спустя 5 минут, 53 секунды (22.07.2010 - 17:45) Onehp написал(а):
Да, база заполнена..
вот как соединяюсь с БД
только вот еще я не понял что делать тут, после "Теперь рассмотрим создание динамического запроса SQL" это я вообще никуда не вписывал
вот как соединяюсь с БД
<?
// Константы для подключения к СУБД
define("HOST","localhost");
define("USER","логин");
define("PASS","пароль");
define("DB","hiphop");
// Подключение к СУБД
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());
// Выбираем базу данных
mysql_select_db(DB, $link);
//Устанавливаем кодировку UTF8
mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
?>
только вот еще я не понял что делать тут, после "Теперь рассмотрим создание динамического запроса SQL" это я вообще никуда не вписывал
Спустя 18 минут, 51 секунда (22.07.2010 - 18:03) twin написал(а):
Цитата |
только вот еще я не понял что делать тут |
тебе это пока не надо. А проблема у тебя в том, что база заполнена символами кодировки win-1251, а читаешь ты их как utf-8.
Ведь как я понял, базу ты раньше заполнял, когда еще все под виндовской было?
Переделывать - дело неблагодарное. Теперь или перекодировать данные, или вертать все взад.
mysql_query("SET NAMES 'cp1251'");и так далее. Жуть.
Хотя я могу и ошибаться. Нужно еще раз внимательно проверить все кодировки. Текста в файлах, заголовки и прочее.
Спустя 18 минут, 25 секунд (22.07.2010 - 18:22) inpost написал(а):
twin
Как раз то, что я и писал, надо заменить старые записи удалить и новые написать в БД =)
Как раз то, что я и писал, надо заменить старые записи удалить и новые написать в БД =)
Спустя 5 минут, 46 секунд (22.07.2010 - 18:28) Basili4 написал(а):
inpost
зачем можно просто перекодировать
зачем можно просто перекодировать
Спустя 1 минута, 31 секунда (22.07.2010 - 18:29) Basili4 написал(а):
Спустя 15 часов, 50 минут, 58 секунд (23.07.2010 - 10:20) Onehp написал(а):
twin, то есть мне удалить БД, и создать её по новой и заполнить?
Спустя 9 минут, 54 секунды (23.07.2010 - 10:30) twin написал(а):
Если записей не жалко, то да.
Спустя 2 минуты, 31 секунда (23.07.2010 - 10:33) Onehp написал(а):
twin, Спасибо
Спустя 56 минут, 53 секунды (23.07.2010 - 11:29) Onehp написал(а):
Блин Все равно одни каракули (( Не ужели придется весь сайт снова писать?
Спустя 10 минут, 35 секунд (23.07.2010 - 11:40) Семён написал(а):
В чём проблема?
База если в windows кодировке, делаете бэкап и переделываете его в UTF-8 затем перезаливаете. Указываете, как выше уже было сказано тип соединения с базой.
Файлы / Скрипты которые работают с базой также сохраняете в UTF-8 кодировке. (пригодиться софт Notepad++ или более проф. среда NetBeans)
База если в windows кодировке, делаете бэкап и переделываете его в UTF-8 затем перезаливаете. Указываете, как выше уже было сказано тип соединения с базой.
Файлы / Скрипты которые работают с базой также сохраняете в UTF-8 кодировке. (пригодиться софт Notepad++ или более проф. среда NetBeans)
Спустя 4 минуты, 40 секунд (23.07.2010 - 11:45) Onehp написал(а):
проблема что слова выводятся так
Демаю так:
Файл bd.php
файл index.php
И все равно каракули, а самих кодах где Dreamweaver показывает каракули, браузер показывает русские слова...
привет
Демаю так:
Файл bd.php
<?
// Константы для подключения к СУБД
define("HOST","localhost");
define("USER","hiphopneft");
define("PASS","hiphopneft2607911416");
define("DB","hiphop");
// Подключение к СУБД
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());
// Выбираем базу данных
mysql_select_db(DB, $link);
//Устанавливаем кодировку UTF8
mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
файл index.php
<? include ("bloki/bd.php");
$result = mysql_query ("SELECT title,meta_d,meta_k,text FROM settings WHERE page='index'");
if (!$result)
{
echo "<p> . mail@mail.ru. <br> <strong> :</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows ($result) > 0)
{
$myrow = mysql_fetch_array ($result);
}
else
{
echo "<p> </p>";
exit ();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><? echo $myrow['title']; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
<meta name="description" content="<? echo $myrow['meta_d']; ?>">
<meta name="keywords" content="<? echo $myrow['meta_k']; ?>">
</head>
И все равно каракули, а самих кодах где Dreamweaver показывает каракули, браузер показывает русские слова...
Спустя 16 секунд (23.07.2010 - 11:45) twin написал(а):
Да что за паника... Все же расписли. Давай по порядку.
1. Открой редактор.
2. Убедись, что кодировка выставлена UTF-8
3. Напиши туда это:
4. Открой PMA.
5. Найди вкладку SQL
6. Сунь туда это:
7. Открой эту базу.
8. Сунь в SQL это:
9. Теперь сохрани файл.
10. Пуск.
Что видим?
1. Открой редактор.
2. Убедись, что кодировка выставлена UTF-8
3. Напиши туда это:
<?php
// Константы для подключения к СУБД
define("HOST","localhost");
define("USER","root");
define("PASS","");
define("DB","test");
// Подключение к СУБД
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());
// Выбираем базу данных
mysql_select_db(DB, $link);
//Устанавливаем кодировку UTF8
mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("INSERT INTO `test` SET `text` = 'Кракозяблы'");
echo mysql_result (mysql_query ("SELECT `text` FROM `test` ORDER BY `id` DESC LIMIT 1"), 0);
4. Открой PMA.
5. Найди вкладку SQL
6. Сунь туда это:
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
7. Открой эту базу.
8. Сунь в SQL это:
CREATE TABLE `test` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`text` VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
9. Теперь сохрани файл.
10. Пуск.
Что видим?
Спустя 2 минуты, 8 секунд (23.07.2010 - 11:47) inpost написал(а):
Onehp
Сделай несколько скрин-шотов!
1) Общая кодировка бд. Должна быть: utf8_unicode_ci
2) кодировка самой таблицы: utf8_unicode_ci
3) кодировка ЯЧЕЙКИ!!!! в которой данные: utf8_unicode_ci
Далее открой её в phpmyadmin и замени новым текстом!
Теперь. В самом скрипте в самом-самом начале пишешь:
Далее между тегами <head> </head> вставляешь:
в папке с данной страницей создаешь файл:
.htaccess
в нём вставляешь единственную строчку:
Следующим шагом: Открываешь данный фаил через DreamWeaver, и проделываешь следующую процедуру: Правой кнопкой внизу на пустом месте: Page Properties => Title/Encoding => Encoding: Юникод (UTF-8) => Normalization Form = NONE. Теперь нажимаешь несколько раз RELOAD!!! А после Apply, Ok.
Вот тебе полностью расписал процедуру. Если не получится, создай новую таблицу в БД (но это уже на последний крайний случай, если проделаешь все правильно, то у тебя должно заработать!!!)
Сделай несколько скрин-шотов!
1) Общая кодировка бд. Должна быть: utf8_unicode_ci
2) кодировка самой таблицы: utf8_unicode_ci
3) кодировка ЯЧЕЙКИ!!!! в которой данные: utf8_unicode_ci
Далее открой её в phpmyadmin и замени новым текстом!
Теперь. В самом скрипте в самом-самом начале пишешь:
<?php
define("HOST","localhost");
define("USER","hiphopneft");
define("PASS","hiphopneft2607911416");
define("DB","hiphop");// Подключение к СУБД
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error()); // Выбираем базу данных
mysql_select_db(DB, $link);
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
header("Content-Type: text/html; charset=utf-8"); ?>
Далее между тегами <head> </head> вставляешь:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
в папке с данной страницей создаешь файл:
.htaccess
в нём вставляешь единственную строчку:
AddDefaultCharset UTF-8
Следующим шагом: Открываешь данный фаил через DreamWeaver, и проделываешь следующую процедуру: Правой кнопкой внизу на пустом месте: Page Properties => Title/Encoding => Encoding: Юникод (UTF-8) => Normalization Form = NONE. Теперь нажимаешь несколько раз RELOAD!!! А после Apply, Ok.
Вот тебе полностью расписал процедуру. Если не получится, создай новую таблицу в БД (но это уже на последний крайний случай, если проделаешь все правильно, то у тебя должно заработать!!!)
Спустя 1 минута, 34 секунды (23.07.2010 - 11:49) Onehp написал(а):
4. Открой PMA.
Что такое РМА?
Спустя 44 секунды (23.07.2010 - 11:49) inpost написал(а):
PMA = PhpMyAdmin
Ты прочитай мое сообщение, тебе в нём все понятно? Если нет - объясню подробнее.
Ты прочитай мое сообщение, тебе в нём все понятно? Если нет - объясню подробнее.
Спустя 15 минут, 41 секунда (23.07.2010 - 12:05) Onehp написал(а):
inpost, Прочитал. Вот примеры скриншотов:
1)
2)
3)
Вылезло куча ошибок..
4)
Создал файл .htaccess написал в нём, что Вы мне написали.
Вот это не совсем понял..
1)
2)
3)
Вылезло куча ошибок..
4)
Создал файл .htaccess написал в нём, что Вы мне написали.
Следующим шагом: Открываешь данный фаил через DreamWeaver, и проделываешь следующую процедуру: Правой кнопкой внизу на пустом месте: Page Properties => Title/Encoding => Encoding: Юникод (UTF-8) => Normalization Form = NONE. Теперь нажимаешь несколько раз RELOAD!!! А после Apply, Ok.
Вот это не совсем понял..
Спустя 14 минут, 17 секунд (23.07.2010 - 12:19) Onehp написал(а):
ВСЕМ ВСЕМ ВСЕМ!!! БОЛЬШОЕ СПАСИБО!!!
___________
Избавились от каракуль появились вопросики
"При текущей кодировке документа нельзя правильно сохранить все символы в документе. Можно изменить кодировку на ЮТФ-8 или на любую другую, которая поддерживает специальные символы данного документа"
Как это изменить?
___________
Избавились от каракуль появились вопросики
"При текущей кодировке документа нельзя правильно сохранить все символы в документе. Можно изменить кодировку на ЮТФ-8 или на любую другую, которая поддерживает специальные символы данного документа"
Как это изменить?
Спустя 6 минут, 23 секунды (23.07.2010 - 12:26) DedMorozzz написал(а):
В суть проблемы далее коротних тегов не вникал. <? замени на <?php
UTF - самая универсальная кодировка. Она поддерживает всё.
UTF - самая универсальная кодировка. Она поддерживает всё.
Спустя 3 минуты, 57 секунд (23.07.2010 - 12:30) Onehp написал(а):
DedMorozzz, нет не помогает
Да и в коде нету скобок php
Просто пересоздал файл
Да и в коде нету скобок php
<td width="182px" valign="top" class="left">
<p align="center" class="title">Навигация</p>
<div id="coolmenu">
<a href="index.php">Главная</a>
<a href="news.php">Новости</a>
<!--<a href="articles.php">Статьи</a>-->
<a href="photo.php">Фото</a>
<a href="video.php">Видео</a>
<a href="faq.php">FAQ</a>
</div></td>
Просто пересоздал файл
Спустя 6 минут, 37 секунд (23.07.2010 - 12:36) inpost написал(а):
Берешь чистый лист, прописываешь все, как мы писали, чтоб строк в итоге было 10-15. Делаешь соединение и выборку из базы данных! И по ней работаешь.
Весь ненужный код, типо того, что ты только что показал, вставлять будешь уже после того, когда с кодировкой разберёшься!
Весь ненужный код, типо того, что ты только что показал, вставлять будешь уже после того, когда с кодировкой разберёшься!
Спустя 2 часа, 4 минуты, 41 секунда (23.07.2010 - 14:41) _Dimarik__ написал(а):
1. когда я в .htaccess изменяю кодировку, у меня только Internet Explorer нормально отображает. Opera и Mozilla хрень всякую выводят. Конечно, это дело поправимое - можно поменять кодировку в опере и мозилке, но ведь не все пользователи это умеют делать.
2. Можно ли сделать так, чтобы MySQL нормально работало в стандартной кодировке, в которой по умолчанию работают опера и мозилла????
3. Как можно узнать, в какой кодировке php создаёт сайты? это в php.ini должно быть написано или как?
Спустя 20 минут, 7 секунд (23.07.2010 - 15:01) twin написал(а):
Зря мечешься. Я написал, с чего начать.
Спустя 42 минуты, 4 секунды (23.07.2010 - 15:43) inpost написал(а):
_Dimarik__ Что значит, всякую дрянь? Я расписал как исправить, чуточку по другому расписал Твин...
Заходишь в кодировку и смотришь в какой передается! Везде надо поставить галочку "Определять автоматически".
Заходишь в кодировку и смотришь в какой передается! Везде надо поставить галочку "Определять автоматически".
Спустя 2 часа, 41 минута, 7 секунд (23.07.2010 - 18:24) _Dimarik__ написал(а):
Всё распишу по-порядку.
1. создал БД, а в ней таблицу
mysql>CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> USE test;
Database changed
mysql> CREATE TABLE testers
-> (id INT(11) NOT NULL AUTO_INCREMENT,
-> info TINYTEXT,
-> PRIMARY KEY(id));
Query OK, 0 rows affected (0.03 sec)
2. вот код
Результат: ничего не заносит. Может это потому что я использовал TINYTEXT, а не VARCHAR(250)????
вот результат:
mysql> SELECT * FROM testers;
+----+------+
| id | info |
+----+------+
| 1 | |
+----+------+
1 row in set (0.02 sec)
mysql>
то есть id заносит, а info - нет
1. создал БД, а в ней таблицу
mysql>CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> USE test;
Database changed
mysql> CREATE TABLE testers
-> (id INT(11) NOT NULL AUTO_INCREMENT,
-> info TINYTEXT,
-> PRIMARY KEY(id));
Query OK, 0 rows affected (0.03 sec)
2. вот код
<?php
//Адрес сервера MySQL
$dblocation = 'localhost';
//Имя базы на хостигше или локальной машине
$dbname = 'test';
//имя пользователя базы данных
$dbuser = 'root';
//и его пароль
$dbpassword = "";
//Устанавливаем соединение с базой нанных
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpassword);
if(! $dbcnx)
{
exit("Невозможно установить соединение с MySQL-сервером");
}
//Выбираем базу данных
if(! @mysql_select_db($dbname, $dbcnx))
{
exit("Ошибка выбора базы данных");
}
/*Устанавливаем кодировку соединения. Следует выбрать
ту кодировку, в которой данные будут отправляться MySQL-серверу*/
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
mysql_query("INSERT INTO testers VALUE (NULL,'РаЗ дВа ТрИ');")or exit("error!".mysql_error());
?>
Результат: ничего не заносит. Может это потому что я использовал TINYTEXT, а не VARCHAR(250)????
вот результат:
mysql> SELECT * FROM testers;
+----+------+
| id | info |
+----+------+
| 1 | |
+----+------+
1 row in set (0.02 sec)
mysql>
то есть id заносит, а info - нет
Спустя 5 минут, 27 секунд (23.07.2010 - 18:30) inpost написал(а):
mysql_query("INSERT INTO `testers` SET
`info`='TEXT'
");
`info`='TEXT'
");
Спустя 11 минут, 54 секунды (23.07.2010 - 18:42) _Dimarik__ написал(а):
то же самое. id увеличивается, а поле INFO свободно. ни каракуль, ничего там нет
Спустя 15 минут, 57 секунд (23.07.2010 - 18:58) Michael написал(а):
Странно как то ...
А вот в первом запросе ошибка была, надо:
INSERT INTO testers VALUES
А вот в первом запросе ошибка была, надо:
INSERT INTO testers VALUES
Спустя 1 минута, 18 секунд (23.07.2010 - 18:59) _Dimarik__ написал(а):
Michael, я в книжке читал, можно VALUE когда одно значение вводишь. и работает, но только с цифрами и латиницей. вместо русского пустоту пишет
Спустя 24 минуты, 36 секунд (23.07.2010 - 19:23) Michael написал(а):
Себе все так же создал - все ОК.
Ты - в консоли вводишь/смотришь? Установи себе phpmyadmin и в нем смотри.
Ты - в консоли вводишь/смотришь? Установи себе phpmyadmin и в нем смотри.
Спустя 7 минут, 48 секунд (23.07.2010 - 19:31) _Dimarik__ написал(а):
ну да. вводил я в консоли. Сейчас через PMA посмотрел. результат тот же. ничего нету там
Спустя 14 минут, 23 секунды (23.07.2010 - 19:46) _Dimarik__ написал(а):
а когда я ввожу команду в консольке, у меня всё нормально записывается.
Косяк когда я ввожу через php
Косяк когда я ввожу через php
Спустя 7 минут, 1 секунда (23.07.2010 - 19:53) inpost написал(а):
Ну вот опять, проблема с кодировкой! Зайди в ПМА и сделай скрин-шот этой таблицы (Структуры именно этой таблицы, а не всех!!!), а так же кидани сюда весь код страницы, в которой ты добавляешь! Единственное уточнение, удали с неё все ненужное!!!
Спустя 4 минуты, 10 секунд (23.07.2010 - 19:57) _Dimarik__ написал(а):
я погуглил, нашёл что в my.ini ничего не сказано про default character-sеt. Может быть это из-за этого?
Цитата |
# Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 64M) where MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs (such as a web server) # # You can copy this file to # /etc/my.cnf to set global options, # mysql-data-dir/my.cnf to set server-specific options (in this # installation this directory is C:\mysql\data) or # ~/.my.cnf to set user-specific options. # # In this file, you can use all long options that a program supports. # If you want to know which options a program supports, run the program # with the "--help" option. # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [wampmysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M basedir=c:/wamp/bin/mysql/mysql5.1.36 log-error=c:/wamp/logs/mysql.log datadir=c:/wamp/bin/mysql/mysql5.1.36/data # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # #skip-networking # Disable Federated by default skip-federated # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin # binary logging format - mixed recommended binlog_format=mixed # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1 # Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between # two methods : # # 1) Use the CHANGE MASTER TO command (fully described in our manual) - # the syntax is: # # CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>, # MASTER_USER=<user>, MASTER_PASSWORD=<password> ; # # where you replace <host>, <user>, <password> by quoted strings and # <port> by the master's port number (3306 by default). # # Example: # # CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, # MASTER_USER='joe', MASTER_PASSWORD='secret'; # # OR # # 2) Set the variables below. However, in case you choose this method, then # start replication for the first time (even unsuccessfully, for example # if you mistyped the password in master-password and the slave fails to # connect), the slave will create a master.info file, and any later # change in this file to the variables' values below will be ignored and # overridden by the content of the master.info file, unless you shutdown # the slave server, delete master.info and restart the slaver server. # For that reason, you may want to leave the lines below untouched # (commented) and instead use CHANGE MASTER TO (see above) # # required unique id between 2 and 2^32 - 1 # (and different from the master) # defaults to 2 if master-host is set # but will not function as a slave if omitted #server-id = 2 # # The replication master for this slave - required #master-host = <hostname> # # The username the slave will use for authentication when connecting # to the master - required #master-user = <username> # # The password the slave will authenticate with when connecting to # the master - required #master-password = <password> # # The port the master is listening on. # optional - defaults to 3306 #master-port = <port> # # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # Point the following paths to different dedicated disks #tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = C:\mysql\data/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = C:\mysql\data/ #innodb_log_arch_dir = C:\mysql\data/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout [mysqld] port=3306 |
а было написано что там должны быть вот эти строки:
Вот пример этого файла, в нем остались строки, относящиеся только к настройке языка:
# Example mysql config file.
# Copy this file to c:\my.cnf to set global options
#
# One can use all long options that the program supports.
# Run the program with --help to get a list of available options
# This will be passed to all mysql clients
[client]
default-character-set=cp1251
character-sets-dir = d:/usr/local/mysql/share/charsets
[mysqld]
default-character-set=cp1251
default-collation = cp1251_general_ci
character-sets-dir=d:/usr/local/mysql/share/charsets/
[mysql]
default-character-set = cp1251
Бывают случаи когда, даже после этих изменений, в Web интерфейсе, например в CMS, вместо русских букв отображаются знаки "?" или иные символы. В этом случае необходимо добавить в файл my.cnf следующую строку:
[mysqld]
init-connect='SET NAMES cp1251'
или выполнять запрос SET NAMES cp1251 в начале установленного соединения к базе данных.
информацию взял с http://sql.ru/faq/faq_topic.aspx?fid=152
Спустя 8 минут, 20 секунд (23.07.2010 - 20:05) _Dimarik__ написал(а):
<?php
//Адрес сервера MySQL
$dblocation = 'localhost';
//Имя базы на хостигше или локальной машине
$dbname = 'test';
//имя пользователя базы данных
$dbuser = 'root';
//и его пароль
$dbpassword = "";
//Устанавливаем соединение с базой нанных
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpassword);
if(! $dbcnx)
{
exit("Невозможно установить соединение с MySQL-сервером");
}
//Выбираем базу данных
if(! @mysql_select_db($dbname, $dbcnx))
{
exit("Ошибка выбора базы данных");
}
/*Устанавливаем кодировку соединения. Следует выбрать
ту кодировку, в которой данные будут отправляться MySQL-серверу*/
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
mysql_query("INSERT INTO testers VALUE (NULL,'Русский');")or exit("error!".mysql_error());
?>
Спустя 15 минут, 43 секунды (23.07.2010 - 20:21) inpost написал(а):
1. Ты видишь какой раздел открыт? "Обзор"... а я писал "Покажи структуру".
2. я уже раз 10 писал, нужен заголовок с кодировкой:
3. В этом файле напиши любой русский текст в самом конце!!! (echo "Тра-ля-ля";). Теперь через браузер посмотри, какая кодировка ставится на автомате! Проверь несколькими браузерами! Убедись, что она ставится автоматически "Автовыбор"!!!
2. я уже раз 10 писал, нужен заголовок с кодировкой:
header("Content-Type: text/html; charset=utf-8");
3. В этом файле напиши любой русский текст в самом конце!!! (echo "Тра-ля-ля";). Теперь через браузер посмотри, какая кодировка ставится на автомате! Проверь несколькими браузерами! Убедись, что она ставится автоматически "Автовыбор"!!!
Спустя 8 минут, 57 секунд (23.07.2010 - 20:30) _Dimarik__ написал(а):
<?php
//Адрес сервера MySQL
$dblocation = 'localhost';
//Имя базы на хостигше или локальной машине
$dbname = 'test';
//имя пользователя базы данных
$dbuser = 'root';
//и его пароль
$dbpassword = "";
//Устанавливаем соединение с базой нанных
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpassword);
if(! $dbcnx)
{
exit("Невозможно установить соединение с MySQL-сервером");
}
//Выбираем базу данных
if(! @mysql_select_db($dbname, $dbcnx))
{
exit("Ошибка выбора базы данных");
}
/*Устанавливаем кодировку соединения. Следует выбрать
ту кодировку, в которой данные будут отправляться MySQL-серверу*/
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
header("Content-Type: text/html; charset=utf-8");
echo "трали-вали-ляляля";
mysql_query("INSERT INTO testers VALUE (NULL,'Русский');")or exit("error!".mysql_error());
?>[/php]
Спустя 7 минут, 29 секунд (23.07.2010 - 20:37) inpost написал(а):
Давай так, Ты меняешь тип на TEXT, NULL на НЕТ! По умолчанию "None".
В коде вместо последней строчки вставляешь мою:
Если после этого работать не будет, выложи тут свой php фаил!
В коде вместо последней строчки вставляешь мою:
$text = "Pivo eto Пиво";
mysql_query("INSERT INTO `testers` SET
`info` = '".$text."'
",$dbcnx);
Если после этого работать не будет, выложи тут свой php фаил!
Спустя 9 минут, 8 секунд (23.07.2010 - 20:46) _Dimarik__ написал(а):
<?php
//Адрес сервера MySQL
$dblocation = 'localhost';
//Имя базы на хостигше или локальной машине
$dbname = 'test';
//имя пользователя базы данных
$dbuser = 'root';
//и его пароль
$dbpassword = "";
//Устанавливаем соединение с базой нанных
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpassword);
if(! $dbcnx)
{
exit("Невозможно установить соединение с MySQL-сервером");
}
//Выбираем базу данных
if(! @mysql_select_db($dbname, $dbcnx))
{
exit("Ошибка выбора базы данных");
}
/*Устанавливаем кодировку соединения. Следует выбрать
ту кодировку, в которой данные будут отправляться MySQL-серверу*/
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');
header("Content-Type: text/html; charset=utf-8");
echo "трали-вали-ляляля";
$text = "Pivo eto Пиво";
mysql_query("INSERT INTO `testers` SET
`info` = '".$text."'
",$dbcnx);
?>
Спустя 2 минуты, 54 секунды (23.07.2010 - 20:49) _Dimarik__ написал(а):
вот видишь? у меня opera и Mozilla такие квадратики выводит. Mozilla, internet explorer то же самое. только в эксплорере если вручную поменять с UTF-8 на КИРИЛЛИЦА Windiws Нормально отобразится. Это же ерунда, когда при СТАНДАРТНЫХ настройках сайт не отображается
Спустя 1 час, 27 минут, 27 секунд (23.07.2010 - 22:17) _Dimarik__ написал(а):
так в чём дело? почему у меня не работает?(((
Спустя 14 часов, 16 минут, 56 секунд (24.07.2010 - 12:34) Michael написал(а):
Одна только осталась версия: кодировка самого php файла не utf-8. В каком редакторе работаешь? В принципе почти везде можно перекодировать.
Вот смотри в Notepad++ показана кодировка:
и ниже конвертировать.
В дриме перекодирую также, в php expert editor и д.р.
Вот смотри в Notepad++ показана кодировка:
и ниже конвертировать.
В дриме перекодирую также, в php expert editor и д.р.
Спустя 55 минут, 56 секунд (24.07.2010 - 13:30) _Dimarik__ написал(а):
Michael!!Спасибо тебе огромное! в АНСИ у меня было в ноутпаде++. А то я уже думал что в латиницу буду преобразовывать и заносить в ней (БД через жопу), а потом назад в кириллицу.
Короче ппц как благодарен!
Короче ппц как благодарен!