Титла: Странен проблем с php и mysql Публикувано от: luda_glawa в Mar 13, 2006, 14:51 Наистина странен. Имам страничка написана на PHP с база на MySQL. Интернет магазин накратко. Обаче когато добавям нови продукти когато е на английски името няма проблем. А съм го въвел на кирилица и се отрязва до деветия знак. Този проблем или поне подобен имах и преди да направя някои промени по дизайна, но все ми се струва, че дизайна не би трябвало да оказва влияние върху SQL базата. Та преди да променя дизайна режеше до четвърти знак, но това само в Mozilla Firefox. В IE работеше т.е. именувах ги на кирилица. Но сега и на двете места ограничението на кирилица е девет знака. Когато погледна в базата името е нещо от сорта:
абвгдежзи& а този ред отговаря на: абвгдежзи На латиница нямам никакви проблеми с дължината. Та ако може да ми дадете някаква идея къде може да е проблема ще съм благодарен. А само да добавя. Преди да се запише името в базата, въведено на кирилица, ми показва как би изглеждала информацията за продукта и там името е правилното. И заради това ми се струва, че проблема е в самия MySQL, а и няма никакви ограничения за дължината. Странно. Да не би проблема да се крие в следните настройки на MySQL сървъра: Стойност на сесията глобална character set client utf8 latin1 character set connection utf8 latin1 character set database latin1 latin1 character set results utf8 latin1 character set server latin1 latin1 character set system utf8 utf8 ft max word len 84 84 Титла: Странен проблем с php и mysql Публикувано от: astronom в Mar 13, 2006, 15:05 Две неща трябва да провериш: кодирането на страницата ти и кодирането на колоната в MySQL. Аз лично ти препоръчвам UTF-8, след като имаш намерение да използваш няколко азбуки. Причината данните ти да бъдат отрязвани е, че нямаш достатъчно място за запис на символите в колоната.
ft_max_word_length се използва за ограничаване на дължината на думите които ще бъдат индексирани за Full Text Search. Титла: Странен проблем с php и mysql Публикувано от: rat в Mar 13, 2006, 15:13 Само да допълня :
Ако ползваш UTF8 за колоната, ще ти се наложи да укажеш с какъв енкодинг ти работи лконекцията : mysql_connect().. mysql_query("set names utf8").. Титла: Странен проблем с php и mysql Публикувано от: в Mar 13, 2006, 15:41 според мене проблема не е в mysql-а, а в магазина или там каквото е. Тоест виж си php кода.
Това нещо:
в в резултата на това нещо: http://bg.php.net/manual/en/function.htmlentities.php предполагам, че това дето го вкарваш за title първо минава през тази функц. после отива в базата (което според мене не е много добро решение) след това минава през някаква функц. която проверява, за допустима дължина на заглавието: Нещо от сорта на: http://bg.php.net/manual/en/function.strlen.php Както и да е - мисълта ми беше да огледаш и php кода Титла: Странен проблем с php и mysql Публикувано от: luda_glawa в Mar 13, 2006, 15:47 Благодаря за съветите. Довечера ще се заровя в кода :-). Утре ще пиша за резултата.
Титла: Странен проблем с php и mysql Публикувано от: в Mar 13, 2006, 15:53
има идея тука - ако колоната е нещо от сорта на varchar(60) Титла: Странен проблем с php и mysql Публикувано от: в Mar 13, 2006, 16:08
varchar(64) Доколкото разбирам просто не преобразува правилно кирилицата. 9 * 7 + 1 (&) = 64 |