Проблем с кирилицата в MySQl

11 отговора 542 прегледа
#1

Проблем с кирилицата в MySQl

Здравейте отново. Когато вкарвам в базата данни ( на ръка през phpMyAdmin) текстове в дадена таблица с колация utf8_unicode_ci текст на кирилица посе в страницата ми го извежда ?????????????????????. Защо е така и как да го оправя. Когато вкарам текст като този: "Äíåøíàòà ãåîãðàôèÿ îïðåäåëÿ ìÿñòîòî íà Ëóäîãîðèåòî ìåæäó Äîáðóäæàíñêîòî ïëàòî íà ñåâåð è ñåâåðîèçòîê, Åëèÿòà (Äóíàâñêîòî êðàéáðåæèå) íà ñåâåðîçàïàä è äîëèíèòå íà ðåêèòå Áåëè Ëîì è Ïîìîðèéñêà íà þã è " после в страницата ми го извежда както трябва да е. Моля ви се помогнете!
ето и кода с който извеждам в страницата:
$sql = "select * from text_$ez
where url = '$pageid'";
$result = mysql_query($sql, $conn);
while ($text = mysql_fetch_array($result))
{
print "<p>".$text['text1']."</p> \n";
}
На латиница всичко е ОК ама на кирилица е зле.
Това дето е с кода преставляват символи като такива когато се обърка енкодинга на някоя страница !

Редактирано от tkulev на

Отговор
в отговор на tkulev #2

Re: Проблем с кирилицата в MySQl

аз ползвам utf8_general_ci, но пък забвари да редактираш каквото и да било по таблицата през myadmin с него, тъй като при него излизат )(·/$)·%/)$(/%)$%$%)(%/)$/% такиааааа

Отговор
в отговор на tkulev #3

Re: Проблем с кирилицата в MySQl

1) Виж phpMyAdmin-а как ти е настроен, т.е.

Language: Bulgarian (bg-utf8)
Набор от символи на MySQL: UTF-8 Unicode (utf8)
Колация на MySQL: utf8_general_ci (при мен е general_ci, но това едва ли е проблема)

2) Виж страницата си
2.1 utf-8 ли позлваш като енкодинг?
2.2 Ако MySQL е 4.X, пробвай след като се конектнеш към базата от данни и преди всякакви други заявки да изпълниш следните:
SET NAMES 'utf8'

Възможно е наборът от символи по подразбиране да не е utf-8, а чрез последните заявка му задаваш изрично за текущата конекция какъв да е набора.

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ghs #4

Но пък като...

избереш в браузъра encoding utf-8 и кво?

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на tkulev #6

Re: Проблем с кирилицата в MySQl

баси .. как ви стигат нерви да се занимавате с клиенти ползващи нещо различно от латин1... скромния ми 9 годишен опит във уеб казва, че тия създават 10 пъти повече проблеми и плащат 2 пъти по-чалко (ако плащат изобщо)

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Отговор
в отговор на Bълk #7

Re: Не може...

...да се отреже Българското веп пространство

Отговор
в отговор на Bълk #8

Re: Проблем с кирилицата в MySQl

В отговор на:

баси .. как ви стигат нерви да се занимавате с клиенти ползващи нещо различно от латин1... скромния ми 9 годишен опит във уеб казва, че тия създават 10 пъти повече проблеми и плащат 2 пъти по-чалко (ако плащат изобщо)


Вълчо, що не си признаеш, че не си експерт в областта на utf8? При мен всичко работи като по вода и честно казано все повече отхвърлям идеите да ползвам друг енкодинг освен utf8_general_ci

инструкциите които трябва да изппълниш са следните:

if (!mysql_connect($SERVER,$USER,$PASSWORD)) {
print "<h3>could not connect to database</h3>\n";
exit;
}
mysql_select_db($DBNAME);

ini_set('mbstring.internal_encoding','UTF-8');
ini_set('mbstring.http_input','UTF-8');
ini_set('mbstring.http_output','UTF-8');
safe_query("SET CHARACTER SET utf8");
safe_query("SET NAMES 'utf8'");

и освен това трябва да имаш следния таг в <head> секцията на html страницата

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

Няма нищо сложно, само дето много мрънкате.

Отговор
в отговор на Xpoмoзoмaтa #9

Re: Проблем с кирилицата в MySQl

ми не съм експерт .... никога не ми се е налагало да ползвам УТФ и като се замислям ... няма да ми се наложи в близките дузина години.

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Отговор
в отговор на Bълk #10

Re: Проблем с кирилицата в MySQl

Как мога да направя енкодинга на MySQl-а да е cp1251, защото най-вероятно от там се объркава така.

Отговор
в отговор на tkulev #11

Re: Проблем с кирилицата в MySQl

питай тези които не отрязват бг уеП пространство, може и да те светнат за него.

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Отговор
в отговор на tkulev #12

Re: Проблем с кирилицата в MySQl

SET NAMES 'cp1251'

И най-ярките личности си плащат тока.
Отговор