Таблица в MySQL как точно трябва...

vladislav

Registered
Код:
CREATE TABLE `links` (
`id` INT( 6 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`link` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`opisanie` TEXT CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci NOT NULL ,
`author` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`lang` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`data` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL 
) ENGINE = MYISAM ;

Понеже в тази таблица има няколко полета в който се записват различни неща - линка - на латиница а описанието на кирилица и понеше миза кирилицата трябва колацията да е cp1251_bulgarian_ci за латиницата аз слагам utf8_general_ci може ли така в една таблица да има различни колации . Защото искам в phpmyadmin да не ми изкарва маймунски занаци а това става само оако е с различни и трябва ли да има това от долу на заяваката за таблицата

ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
 
може да са различни, не е проблем.


само така я направи:

Код:
CREATE TABLE `links` ( 
`id` INT( 6 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`link` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , 
`opisanie` TEXT CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci NOT NULL , 
`author` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , 
`lang` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , 
`data` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL 
) ENGINE = MYISAM ;
 
а не е проблем също че слагам и това в скриптовете за запис и извеждане нали

Код:
$chars="SET CHARACTER SET cp1251";
mysql_query($chars);

за да ми е всичко точно и да няма маймунеци :wink:

а и друго понеже примерно в заглавието може да ми се наложи да има и латиица и кирилица какво става тгава защото нали уж utf8 е универсално пък ако направя така
Код:
$chars="SET CHARACTER SET utf8";
mysql_query($chars);
нищо нестава
 
за да сложиш:
Код:
$chars="SET CHARACTER SET cp1251"; 
mysql_query($chars);
трябва цялата таблица да е cp1251, защото на utf8 ще ти записва и изкарва резултата на ?????.
направи я цялата cp1251 няма да има проблеми, че пишеш и на латиница.
 
значи да си слагам в кодовете

Код:
$chars="SET CHARACTER SET cp1251";
mysql_query($chars);

и да правя всички полета на cp1251_bulgarian_ci :?:
10x Много ти благодаря
 

Back
Горе