Задавайте вопросы, мы ответим
Вы не зашли.
устанавливаю при стандартной настройке utf8 кодировку, все хорошо т.е. велком, корректирую настройки set names 'cp1251', создаю таблицу
CREATE TABLE tabl ( ...............)DEFAULT CHARSET cp1251;, начинаю инсертить часть данных с русскими буквами, часть с английскими в неё, все супер сохраняются в базе отоброжаются чудно, и на страницу выводятся, только английский алфавит видно отлично, но русский какие то закорючки ничего не могу понять, что тут сделать порекомендуете?
заранее спасибо.
Отредактированно dima198123 (08.08.2008 07:45:34)
Неактивен
set names cp1251 необходимо выполнять каждый раз после подключения к базе, в том числе в скрипте. Просто после mysql_connect() добавьте mysql_query("SET NAMES cp1251");
Неактивен
захожу в мускул по умолчанию настроен на latin1,
набераю set names cp1251;,
создаю базу CREATE DATABASE ddd;,
набераю set names cp1251;,
создаю таблицу CREATE TABLE tabl2 (im varchar(20), em text)DEFAULT CHARSET cp1251;
набераю set names cp1251;,
заполняю таблицу
INSERT INTO tabl2
(im, em)
values
("Имя","123@123.com")
набераю set names cp1251;,
выполняю скрипт
<?php
$db = mysql_connect("localhost","root","123");
mysql_select_db("ddd" ,$db);
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
$sql = mysql_query("SELECT * FROM tabl2" ,$db);
echo ("<table border ='1'>");
echo ("<tr><td>Имя</td><td>Адрес</td></tr>");
while ($tablerows = mysql_fetch_row($sql))
{
echo("<tr><td>$tablerows[1]</td><td>$tablerows[2]</td></tr>");
}
echo "</table>";
mysql_close($db);
?>
не получается, получаются закорючки заместо русских букв.
но не может же это быть так, потому, что у меня виста стартер...?
подскажите пожалуйста как быть?
Неактивен
Изначальные команды делаете в консоли windows? Попробуйте использовать вместо этого MySQL Query Browser http://dev.mysql.com/downloads/gui-tools/5.0.html
У виндовой консоли известны проблемы с кодировкой. Возможно, получится, если в консоли будете выполнять SET NAMES cp866, а кодировку таблицы оставите CP1251.
Неактивен
консоль это черная таблица mysql?
и куда нужно прописывать ср866?
Неактивен
Под виндовой консолью имеется в виду окно cmd.
Там Вы, по идее, пишете "mysql" - запускаете клиент mysql - и получаете "черную таблицу mysql".
SET NAMES cp866 в клиенте и писать (т.е. там же, где SELECT и т.п.)
Неактивен
супер! спасибо огромное теперь это выглядит так и отлично отоброжается
захожу в мускул по умолчанию настроен на latin1,
набераю set names cp866;,
создаю базу CREATE DATABASE ddd;
создаю таблицу CREATE TABLE tabl2 (im varchar(20), em text)DEFAULT CHARSET cp1251;
заполняю таблицу
INSERT INTO tabl2
(im, em)
values
("Имя","123@123.com")
набераю set names cp1251;,
выполняю скрипт
<?php
$db = mysql_connect("localhost","root","123");
mysql_select_db("ddd" ,$db);
mysql_query("SET NAMES 'cp866'");
mysql_query("SET CHARACTER SET 'cp1251'");
$sql = mysql_query("SELECT * FROM tabl2" ,$db);
echo ("<table border ='1'>");
echo ("<tr><td>Имя</td><td>Адрес</td></tr>");
while ($tablerows = mysql_fetch_row($sql))
{
echo("<tr><td>$tablerows[1]</td><td>$tablerows[2]</td></tr>");
}
echo "</table>";
mysql_close($db);
?>
надеюсь тут никаких подводных камней и ничего подобного нет, что то простым решение оказалось, над этим которую неделю страдаю, теперь здорово ПСБ, респект и уважуха вам!!!
Неактивен
с выборкой не получается
use ddd
set names cp866;
select * from tabl2;
SELECT * FROM tabl2 WHERE im = "Имя";
результат
Empty set (0.00 sec)
Неактивен
Попробуйте все-таки отказаться от видновой консоли и использовать MySQL Query Brower.
Неактивен
при инсталяции MySQL Query Brower, компьютер показывает предупреждающую таблицу, для данного продукта требуется другая операционная система.
на консоль только и остается расчитывать, что нет способа взаимодействия с базой из нее?
Неактивен
Скорее всего query browser будет работать в висте нормально. Что касается видновой консоли - это недоконсоль, здесь на форуме много тем про нее (как я понимаю, если винда английская, то вообще с русским в ней тяжело, а если русская, то кодировка cp866 должна помогать по идее, но это почему-то происходит не всегда).
Неактивен
не для 86 windows MySQL Query Brower функционирует нормально.
захожу, создаю новое подключение и потом на английском остальное для него не бывает русификатора где скачать?
или руководства на русском, совсем не понятно как с ним работать
Неактивен
Неактивен
Огромное спасибо rgbeast.
Неактивен
Тогда и мне подскажите. Проверил скрипт на "Денвере" работает исключительно! Но когда перенёс его на сервер с кодировой utf8, то текст с русскими и английкими буквами отображается правильно, но вот небольшая табличка, которая должна появиться на определённй страничке не появляется, хотя из административной части скрипта она создана. Вопрос это в кодировке дело или нет ? при том что на "Денвере" работает всё прекрасно. Спасибо
Неактивен
Вряд ли в кодировке. Уточните условия
Неактивен
Zloy70 написал:
Тогда и мне подскажите. Проверил скрипт на "Денвере" работает исключительно! Но когда перенёс его на сервер с кодировой utf8, то текст с русскими и английкими буквами отображается правильно, но вот небольшая табличка, которая должна появиться на определённй страничке не появляется, хотя из административной части скрипта она создана. Вопрос это в кодировке дело или нет ? при том что на "Денвере" работает всё прекрасно. Спасибо
Очень мало информации. Первое, что пришло в голову, так это стоит sql-mode="STRICT_TRANS_TABLES" и скрипт отказывается корректно с ним работать.
Отредактированно Kassad (06.10.2008 16:52:06)
Неактивен