Организация базы

lolshik

Новичок
Автор оригинала: Фанат

Учись формулировать вопросы по-человечески.
Учусь =) Вы этому способствуете - за что вам всем огромное человеческое спасибо.
Теперь возникла следующая проблема.
Пишу скрипт на пхп. Он вносит данные $name="Денис"; $email="[email protected]"; $preference="Шляпа"; в базу.
Сначала я сохраняю в базе данные на английском $name="Dennis"; затем на русском.
Далее иду в mysql через cmd и смотрю - английские переменные отображаются корректно, а вот русские((
Какие то аброкадабры. Возможен ли вывод норм букв? Я так понимаю cmd - это Дос. на сколько я знаю, в досе русские символы существуют =)
простите за ламерство

mysql> select * from clients;
+--------+----------------+----------+
| name | email | choise |
+--------+----------------+----------+
| Dennis | [email protected] | Computer |
| ─хэшё | [email protected] | ╪ы_яр |
+--------+----------------+----------+
2 rows in set (0.00 sec)

PHP:
 <? 

/* Переменные для соединения с базой данных */ 
$hostname = "localhost"; 
$username = "admin"; 
$password = ""; 
$dbName = "products"; 

$name="Денис";
$email="[email protected]";
$preference="Шляпа";

/* Таблица MySQL, в которой хранятся данные */ 
$userstable = "clients"; 

/* создать соединение */ 
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); 
/* выбрать базу данных. Если произойдет ошибка - вывести ее */ 
mysql_select_db($dbName) or die(mysql_error());  

/* составить запрос для вставки информации о клиенте в таблицу */ 
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')"; 
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */ 
mysql_query($query) or die(mysql_error()); 

echo "Информация о вас занесена в базу данных."; 

/* Закрыть соединение */ 
mysql_close(); 
?>
 

Фанат

oncle terrible
Команда форума
проверять данные надо в той же программе, в которой вводил
 

lolshik

Новичок
Автор оригинала: Фанат
проверять данные надо в той же программе, в которой вводил
ну это понятно, тут же пишу скрипт get.php который берёт данные из базы -> всё идеально, буквы читабельные.
Но вопрос, почму нельзя смотрть из под mysql.exe
 

Фанат

oncle terrible
Команда форума
смотреть можно.
только кодировка другая.
попробуй в свтойствах ярлыка с мускулем поставить другой шрифт
 

lolshik

Новичок
У меня всего два шрифа для exe`шников оба выводят одно и тоже( Обыдно, может гугл поможет

-~{}~ 12.05.07 14:12:

На просторах инета нашёл только такой ответ = В винде нет кодировки latin1 поэтому из консоли mysql.exe русские буквы не увидищь. хз правдо это или нет
 

Фанат

oncle terrible
Команда форума
ты слышал когда-нибудь об операционной системе MS-DOS и о кодировке 866?
 

lolshik

Новичок
Автор оригинала: dark-demon
попробуй перед запуском mysql.exe выполнить:
mode con cp select=1251
или
chcp 1251
Спасибо! Помогло.. вот только как это теперь прописать как парамтр при запуске? А то ручками тяжело каждый раз прописывать?
 

lolshik

Новичок
@echo off
C:\Program Files\MySQL\MySQL Server 4.1\bin\mysql.exe -u admin
а как сюда же прописать mode con cp select=1251
и chcp 1251?
 

dark-demon

d(^-^)b
так и прописать
Код:
@echo off
mode con cp select=1251
C:\Program Files\MySQL\MySQL Server 4.1\bin\mysql.exe -u admin
 

lolshik

Новичок
Почти так =) Так как в пути есть пробелы, нужно поместить путь в кавычки, итого:

@echo off
mode con cp select=1251
"C:\Program Files\MySQL\MySQL Server 4.1\bin\mysql.exe" -u admin
 

lolshik

Новичок
может ли кто нить скинуть настройки my.ini mysql 4.1*?

правильно ли я настроил?

  • C:\Program Files\MySQL\MySQL Server 4.1\bin\mysql.exe Ver 14.7 Distrib 4.1.14,
    for Win32 (ia32)
    Connection id: 2
    Current database:
    Current user: admin@localhost
    SSL: Not in use
    Using delimiter: ;
    Server version: 4.1.14-nt
    Protocol version: 10
    Connection: localhost via TCP/IP
    Server characterset: cp1251
    Db characterset: cp1251
    Client characterset: latin1
    Conn. characterset: latin1
    TCP port: 3306
    Uptime: 50 sec
 
Сверху