- Кирилица в MySQL (Проблем)
WT форуми -> PHP и MySQL готови кодове -> Кирилица в MySQL (Проблем)
Създайте нова тема Напишете отговор 
Автор Съобщение
mastatekilla22
Нов
Нов

Регистриран на: 18/08/2014 3:16 pm

Support: 0
Bonus: 0
Мнения: 1
Мнение 18/08/2014 3:20 pm     Кирилица в MySQL (Проблем) Отговорете с цитат


Здравейте. Прегледах поне 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">
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
plamen_003
Турист
Турист

Регистриран на: 26/11/2007 10:16 pm

Support: 13
Bonus: 24
Мнения: 494
Мнение 20/08/2014 8:48 pm      Отговорете с цитат


Смени charset-а на UTF-8:
HTML code:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


И базата данни я направи да бъде utf-8_general_ci.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Nazi_93
Потребител
Потребител

Регистриран на: 24/02/2011 9:54 pm

Support: 50
Bonus: 94
Мнения: 906
Мнение 21/08/2014 7:22 am      Отговорете с цитат


Или в PHP файла пишеш:

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


, ако не знаеш къде да ровиш в PHPMyadmin...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Zion
Активен
Активен

Регистриран на: 23/03/2008 3:37 pm

Support: 114
Bonus: 216
Мнения: 2488
Мнение 08/01/2015 1:49 pm      Отговорете с цитат


под връзката с базата данни т.е.: mysql_coonect... сложи
mysql_query("SET NAMES CP1251"); ако не пробвай с mysql_query("SET NAMES UTF-8");
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 140
Bonus: 279
Мнения: 1307
Мнение 10/01/2015 3:39 pm      Отговорете с цитат


Трябва всяко едно от тези неща да е в 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 code:
header('Content-type: text/html; charset="utf-8"') ;


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


Погледни това: http://stackoverflow.com/a/14227400/3132718
И нещо на български: http://help.hostbulgaria.com/mysql-charset-encoding
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP и MySQL готови кодове Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети