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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Как правильно решить вопрос с кодировкой?
 
 автор: gb   (07.07.2008 в 00:15)   письмо автору
 
 

Установил apache 2.2.8, mysql 5.0, php 5.2.6, phpMyAdmin 2.11.7
Делаю всё по книжке - PHP. Практика создания Web-сайтов 1 издание.
Пишу в консоли MySQL
mysql> INSERT INTO authors VALUES (0, 'Maks', '123', 'maks@mail.ru',
mysql> 'www.softtime.ru ', ' ' , 'программист',
mysql> ", null, null, 0, 0 ) ;
Смотрю в phpMyAdmin что получается, а там какието иероглифы вместо 'программист'.
Исправляю в phpMyAdmin (пишу по-русски),
пишу в консоли
mysql> select from authors about; (программист тобишь должно быть выдано)
а там опять иероглифы.

http://localhost/phpmyadmin/ (начальная страница phpMyAdmin)
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: cp1251_bin


my.ini
[client]

port=3306
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"

[mysql]

default-character-set=cp1251

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"
init-connect="SET NAMES cp1251"


SHOW SESSION VARIABLES LIKE '%char%';
character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_filesystem binary
character_set_results cp1251
character_set_server cp1251
character_set_system utf8
character_set_dir C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\


mysql>password: ****************
mysql>use forum;
mysql>SET NAMES cp1251;
Вроде текст нормально отображаться стал (по-русски).
Теперь мне каждый раз надо будет писать это в косноли?
В книге об этом ни слова.

   
 
 автор: cheops   (07.07.2008 в 01:49)   письмо автору
 
   для: gb   (07.07.2008 в 00:15)
 

>Сопоставление соединения с MySQL: cp1251_bin
Лучше cp1251_general

Кодировку консоли меняете перед запуском клиента mysql командой
chcp 1251

Дело в том, что по умолчанию консоль Windows работает в кодировке DOS (cp866)

   
 
 автор: gb   (07.07.2008 в 21:05)   письмо автору
 
   для: cheops   (07.07.2008 в 01:49)
 

спасибо cheops

cp1251_general_ci или cp1251_general_cs?
Запускаю всё своё хозяйство с помощью файла .bat:
@echo off
echo.
if not exist C:\apache\vhosts-on.txt goto no_vhosts
echo Create virtual hosts:
copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2.2
NET start MySQL

Делаю : Пуск->Выполнить->cmd->
C:\Documents and Settings\gb> chcp 1251
(здесь иероглифы) : 1251
C:\Documents and Settings\gb>mysql.exe -h localhost -u root -p
Enter password:********
ERROR 2003 (HY000): Cant connect to MySQL server on 'localhost' (10061)

   
Rambler's Top100
вверх

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