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

Форум MySQL

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

 

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

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

тема: как настроить кодеровку вывода в пхп
 
 автор: typek   (10.01.2011 в 15:02)   письмо автору
 
 

м создал я базу ка написоно в кодировке всё в одно сз1251 но выводит всёравно то шо и выводило.
Делал так :

1.Установил значение переменных спомощью 
SET character_set_client=cp1251;
SET character_set_connection=cp1251;
SET character_set_database=cp1251;
SET character_set_results=cp1251;
character_set_server=cp1251;

2.Проверил установилось или нет командой: SHOW VARIABLES LIKE 'character%'; 
[code=auto]mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+--------------------------+
| Variable_name            | Value                    |
+--------------------------+--------------------------+
| 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_sets_dir       | C:\MySQL\share\charsets\ |
+--------------------------+--------------------------+

вроде всё установилось

3.В таких настройках создаю новую бд и таблицу:
creat database aaa;
create table catalogs (
id_catalog int(11) NOT NULL auto_increment,
name tinytext NOT NULL,
PRIMARY KEY (id_catalog)
);
NSERT INTO catalogs VALUES (1, 'Процесоры');

4.Выводим в пхп всёравно выводит козюбрики результат // 1 Џа®жҐб®ал //
Вчом проблема кто знает ? Версия мускул 5.5.8 может другую установить лутше?

  Ответить  
 
 автор: Trianon   (10.01.2011 в 15:32)   письмо автору
 
   для: typek   (10.01.2011 в 15:02)
 

п.1 (вообще то его делают оператором SET NAMES) действует лишь на время текущего соединения.
при очередном подключении php к mysql его всегда придется делать снова.

Кстати, при подключении из-под консоли кодировка клиента и результатов = 1251 - не самое адекватное решение.

версии начиная от 4.1 и далее работают одинаково.

  Ответить  
 
 автор: typek   (10.01.2011 в 16:00)   письмо автору
 
   для: Trianon   (10.01.2011 в 15:32)
 

так и на время подключения тоже прописан
mysql_query("SET NAMES 'cp1251'"); в файле подключения бд после подключения
ничо нипомогает всеравно козюбрики выводит
1 Џа®жҐб®ал
А если меняеш на mysql_query("SET NAMES 'utf8'"); то другие козюбрики выводит
1 Џа®жҐб®ал
Я уже и незнаю как её и настроить

Вообще руские буквы каракулями выводит как ее попорядку настроить? Вроде всё прописал то шо надо
А чо оно так выдаёт вроде всё создано и настроено в одной кодеровке cp1251 из таблицы видноmysql> show variables like '%char%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| 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_sets_dir | C:\MySQL\share\charsets\ |
+--------------------------+--------------------------+
8 rows in set (0.00 sec)
а результат никакой шо попало выводит Может еще чо прописать?

  Ответить  
 
 автор: Trianon   (10.01.2011 в 16:09)   письмо автору
 
   для: typek   (10.01.2011 в 16:00)
 

>так и на время подключения тоже прописан mysql_query("SET NAMES 'cp1251'");
>в файле подключения бд после подключения
>ничо нипомогает всеравно козюбрики выводит

Так может эта каша уже в таблицу записалась?

SHOW CREATE TABLE таблица;

SHOW CREATE DATABASE ИмяБД;
что выводит?

  Ответить  
 
 автор: typek   (10.01.2011 в 16:18)   письмо автору
 
   для: Trianon   (10.01.2011 в 16:09)
 

Выводит SHOW CREATE TABLE следующее

mysql> SHOW CREATE TABLE catalogs;
+----------+-------------------------------------------------------
-------------------------------------------------------------------
----------------------------------------+
| Table | Create Table

|
+----------+-------------------------------------------------------
-------------------------------------------------------------------
----------------------------------------+
| catalogs | CREATE TABLE `catalogs` (
`id_catalog` int(11) NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
PRIMARY KEY (`id_catalog`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251 |
+----------+-------------------------------------------------------
-------------------------------------------------------------------
----------------------------------------+
1 row in set (0.00 sec)


а базу SHOW CREATE DATABASE


mysql> SHOW CREATE DATABASE qqq;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| qqq | CREATE DATABASE `qqq` /*!40100 DEFAULT CHARACTER SET cp1251 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)

и тута вроде всё в одной или чота нитак? Та яж эту таблицу с новыми настройками создавал кругом ср1251 прописал. Может мускл глючный версия последняя 5.5.8
Мучаюсь уже второй день

  Ответить  
 
 автор: Trianon   (10.01.2011 в 16:31)   письмо автору
 
   для: typek   (10.01.2011 в 16:18)
 

Вы всегда отвечаете только на половину вопросов?

  Ответить  
 
 автор: typek   (10.01.2011 в 16:32)   письмо автору
 
   для: Trianon   (10.01.2011 в 16:31)
 

там вроде на все вопросы отвечено

  Ответить  
 
 автор: Trianon   (10.01.2011 в 16:35)   письмо автору
 
   для: typek   (10.01.2011 в 16:32)
 

Так может эта каша уже в таблицу записалась?

С настройками у Вас всё нормально.
А в таблице - ерунда.
Ерунда туда попала тогда, когда был выполнен оператор INSERT.
Выполнен он был после неправильного SET NAMES - очевидно из-под консоли, а не из-под php.


Вы вообще другим клиентом в таблицу заглядывали?
phpMyAdmin'ом например?

  Ответить  
 
 автор: cheops   (10.01.2011 в 16:32)   письмо автору
 
   для: typek   (10.01.2011 в 16:00)
 

Вы кодировку консоли меняли? Выполните команду chcp - какой номер кодировки у консоли? Если 866, то измените на 1251 при помощи команды
chcp 1251

  Ответить  
 
 автор: typek   (10.01.2011 в 16:35)   письмо автору
 
   для: cheops   (10.01.2011 в 16:32)
 

а конкретней в консоле прописать: сhcp; так оно ошибку выдает
непрописывается чота или я её нитам прописываю?

  Ответить  
 
 автор: cheops   (10.01.2011 в 16:37)   письмо автору
 
   для: typek   (10.01.2011 в 16:35)
 

Из mysql выйдите, команды Windows нужно вводить до того, как вы войдите в клиент mysql.

  Ответить  
 
 автор: typek   (10.01.2011 в 16:44)   письмо автору
 
   для: cheops   (10.01.2011 в 16:37)
 

была кодировка 866
изменил на chcp 1251 - тока сталы буквы в кансоли каракулями?

  Ответить  
 
 автор: cheops   (10.01.2011 в 16:48)   письмо автору
 
   для: typek   (10.01.2011 в 16:44)
 

В свойствах консоли выберите вместо точечных шрифтов Lucida Console, точечные шрифты не поддерживают Win-1251.

  Ответить  
 
 автор: typek   (10.01.2011 в 16:58)   письмо автору
 
   для: cheops   (10.01.2011 в 16:48)
 

выбрал стало нопмально показывать шрифт а дальше шо? Попробовать заново таблицу создать?

  Ответить  
 
 автор: cheops   (10.01.2011 в 17:00)   письмо автору
 
   для: typek   (10.01.2011 в 16:58)
 

Да, создавайте, выполняйте SET NAMES, заполняйте при помощи INSERT, затем выводите при помощи SELECT.

  Ответить  
 
 автор: typek   (10.01.2011 в 17:16)   письмо автору
 
   для: cheops   (10.01.2011 в 17:00)
 

УРА !!!! Всё заработало так как нада, помогло
СПАСИБО ЗА ДЕЛЬНЫЙ СОВЕТ

Чо тока неперепробовал и переустанавливал и раз десять кодеровку баз менял . И на форума инфы пересмотрел. Там то написано много тока мало шо понятно. Времени 2 дня впустую потратил. Один плюс шо кодировки чуть чуть разобрал.

  Ответить  
Rambler's Top100
вверх

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