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

Форум MySQL

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

 

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

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

тема: Выбор кодировки при создании таблицы
 
 автор: ProtoTeeP   (28.10.2007 в 07:43)   письмо автору
 
 

Что-то не пойму, что это за строчка??
CHARACTER SET utf8 COLLATE utf8_general_ci;
мне нужна только кодировка utf8_general_ci.
данные в таблицы уже в utf-8

что означает CHARACTER и COLLATE?

и еще надо ли делать первые запросы к БД такого плана?

mysql_query ("set character_set_client='utf-8'");  
mysql_query ("set character_set_results='utf-8'");  
mysql_query ("set collation_connection='utf-8_general_ci'"); 


сейчас пока использую только.
mysql_query("SET NAMES utf-8");

все работает нормально... но все же хочется узнать правильно ли это?

   
 
 автор: cheops   (28.10.2007 в 09:30)   письмо автору
 
   для: ProtoTeeP   (28.10.2007 в 07:43)
 

Да, всё правильно.

CHARACTER - это кодировка
COLLATE - это сопоставление или сортировка, дело в том, что при помощи одной кодировки можно кодировать несколько языков, сортировка позволяет настроить правильную сортировку в каждом из языков. Например для кодировки cp1251 для русского текста следует выбирать сортировку cp1251_general_ci, для украинского cp1251_ukrainian_ci, а для болгарского cp1251_bulgarian_ci.

   
 
 автор: ProtoTeeP   (28.10.2007 в 09:52)   письмо автору
 
   для: cheops   (28.10.2007 в 09:30)
 

Спасибо. Все понятно...
Только Вы не ответили на вопрос о первых запросах к БД.

я использую:

<?
mysql_query
("SET NAMES utf-8");
?>


но видел много работ, где дополнительно делают еще какие то запросы.
Что то вроде:

<?
mysql_query
("CHARACTER utf-8"); // Точно не помню
?>


таких запросов где то 3-4.
Для чего они?

   
 
 автор: cheops   (28.10.2007 в 10:16)   письмо автору
 
   для: ProtoTeeP   (28.10.2007 в 09:52)
 

Запрос,
<? 
mysql_query
("SET NAMES utf-8"); 
?>

эквивалентен
<?php
mysql_query 
("set character_set_client='utf-8'");   
mysql_query ("set character_set_results='utf-8'");   
mysql_query ("set collation_connection='utf-8_general_ci'");
?>

В большинстве случаев используется SET NAMES, однако, если вы захотите изменить один из параметров - вам придётся его расшифровать тремя предыдущими запросами. Например, захотите вместо utf-8_general_ci (не зависимая от регистра сортировка) использовать utf-8_general_cs (зависимая от регистра сортировка) - вам придётся использовать три приведённых выше SQL-запроса, вместо одного SET NAMES.

   
 
 автор: ProtoTeeP   (28.10.2007 в 11:06)   письмо автору
 
   для: cheops   (28.10.2007 в 10:16)
 

Благодарю.. =)

   
Rambler's Top100
вверх

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