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

Форум MySQL

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

 

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

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

тема: При выводе текст не в той кодировке что нужно
 
 автор: TetRiska   (04.04.2014 в 18:37)   письмо автору
 
 

Всем привет. Кто скажет почему такая беда вылазит?

1. База в utf8
CREATE DATABASE `mydb` /*!40100 COLLATE 'utf8_general_ci' */

2. Таблица в utf8
CREATE TABLE `em_region` (
    `em_regionId` TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
    `em_regionName` VARCHAR(50) NOT NULL DEFAULT '',
    `em_regionType` ENUM('gfz','rpb','kri','sob','aob','aok','art') NOT NULL DEFAULT 'sob',
    PRIMARY KEY (`em_regionId`),
    UNIQUE INDEX `u_regionName` (`em_regionName`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=85;

3. Серверные переменные все в utf8
character_set_client utf8 | utf8
character_set_connection utf8 | utf8
character_set_database utf8 | utf8
character_set_results utf8 | utf8
character_set_server utf8 | utf8
character_set_system utf8 | utf8
collation_connection utf8_general_ci | utf8_general_ci
collation_database utf8_general_ci | utf8_general_ci
collation_server utf8_general_ci | utf8_general_ci

4. Страничка сайта с метатегом в utf8

Если конечно, после коннекта прописать mysql_set_charset("utf8"); то будет все хорошо, но почему без него не работает?

  Ответить  
 
 автор: cheops   (05.04.2014 в 20:24)   письмо автору
 
   для: TetRiska   (04.04.2014 в 18:37)
 

Без него не работает, потому что клиентская библиотека через которую вы обращаетесь к серверу по умолчанию выставляет кодировку соединения latin1, чтобы она по умолчанию выбирала utf8, её саму нужно перекомпилировать. Поэтому первый запрос, который вы отправляете MySQL должен быть
SET NAMES utf8;

Можно попробовать настроить клиентские (не серверные) параметры, это секция [clints] в my.cnf, но не факт, что поможет.

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

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