Кирилица в MySQL (Проблем)

mastatekilla22

Registered
Здравейте. Прегледах поне 20 теми във форума относно този проблем и все пак не мога да настроя таблиците в базата данни да изписват текста на кирилица.

Използвам система за добавяне на файлове. Файловете се добавят през сайта. В mysql-а имената на файловете излизат като "?????"

това е сяла
Код:
CREATE TABLE `plugins` (
`id` int(11) NOT NULL auto_increment,
`url` varchar(255) NOT NULL,
`plugdescription` varchar(2550) NOT NULL,
`plugname` varchar(255) NOT NULL,
`plugauthor` varchar(50) NOT NULL,
`addby` varchar(50) NOT NULL,
`photourl` varchar(100) NOT NULL,
`plugcat` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

php страниците ми са настроени на кодировка ANSI (пробвах и с други, но не става) във всяка страница е добавено

Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 
Смени charset-а на UTF-8:
HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

И базата данни я направи да бъде utf-8_general_ci.
 
Или в PHP файла пишеш:

PHP:
$colation="ALTER DATABASE $database_name CHARACTER SET utf8 COLLATE utf8_general_ci";
	$colation_query=mysql_query($colation) or die (mysql_error());

, ако не знаеш къде да ровиш в PHPMyadmin...
 
под връзката с базата данни т.е.: mysql_coonect... сложи
mysql_query("SET NAMES CP1251"); ако не пробвай с mysql_query("SET NAMES UTF-8");
 
Трябва всяко едно от тези неща да е в utf-8:

- Колоните в бд-то. Тази настройка се прави като отидеш в phpmyadmin при таблицата и цъкнеш "Structure". Избираш полето, което искаш да съдържа кирилица и цъкаш на "Change". Намираш "Collation" и от селекта избираш utf8_general_ci

- Ако искаш да промениш цялата таблица в utf8: отваряш си таблицата в phpmyadmin, избираш "Operations" (намира се най-вдясно). В Table options
намираш Collation и пак го правиш на utf8_general_ci

- конекцията: ако използваш PDO, трябва да имаш 'mysql:host=localhost;dbname=db;charset=utf8'.

- след всяка конекция трябва да изпълниш тази заявка: SET NAMES = utf8

- в php-то трябва да имаш
PHP:
header('Content-type: text/html; charset="utf-8"') ;

- и накрая в html:
HTML:
<meta charset="utf-8" />

Погледни това: http://stackoverflow.com/a/14227400/3132718
И нещо на български: http://help.hostbulgaria.com/mysql-charset-encoding
 

Горе