News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Поредният проблем с енкодинга

Started by notentered, October 16, 2009, 12:17:32 PM

Previous topic - Next topic

notentered

Здравейте, и аз имам интересен проблем с енкодинга.
Инсталирах SMF през Fantastico. База е с колация cp1251-bulgarian-ci, но таблиците са с колация cp1251_general_ci и честно казано си върви добре.

Проблема "лъсна" когато се опитах да пусна RSSите и се оказа че се генерира невалиден XML. Той пък бил невалиден, защото някои от постовете са енкоднати с HTML Encode преди да отидат в базата иии символите в html енкодването явно чупят XML-а. Та зачудих се защо става така (още повече че само 2 поста бяха така) и видях че когато редактирам пост и той се опита да запише нещо в полето modifiedName, само тогава енкодва целия пост (т.е. и полето subject и полето body).

Пробвах да променя енкодинга на базата и на таблицата (за сега само на нея) на utf8_unicode_ci но това не оправи нищо... претърсих и "целия гугъл" по въпроса и пак нищо.

Та, някой, някога имал ли е такъв проблем, че яко съм запънал? :)

Много ще съм благодарен на всякаква помощ.

ivo2296

Здравей,

Дай линк към форума ти за да погледна.
Но като правило инсталация през Fantastico на SMF(от личен опит), винаги води до проблеми, и в него няма последната версия, както и езиковите пакети.

Преход към UTF8 може да доведе до много проблеми, зависи на кой енкодинг и операционна система е била базата дани преди това.




notentered

#2
Здравей :)
и мерси за отговора :)
ами форума се намира на hxxp:www.bg-docs.com/ [nonactive]. Проблема е че на пръв поглед нещата там изглеждат добре, все пак проблема може да се види като се опиташ да видиш RSS-те. Честно казано дори не съм съвсем сигурен дали точно енкодинга е проблема. защото изглежда, че самия SMF в някакъв случай решава да прекара стринга пред html енкодинг и така да го сложи в базата.

Мерси за помоща. :)

А, освен това, като цяло форума е почти празен и ако мислиш че би било по-лесно, мога и да го инсталирам на ново... просто ми се щеше да си спестя слагането на модове, теми, настройки и т.н. :)

иии пак мерси :)

ivo2296

Нещо не е наред hxxp://www.bg-docs.com/index.php?action=.xml

Направи една отделна инсталация на SMF на UTF8, без да пипаш таблиците в базата и тествай.


Защо линковете завършват с html hxxp://www.bg-docs.com/index.php/topic,14.0.html  ?


notentered

За линковете си нямам идея, между другото :)
Пуснах му там да ми прави friendly за търсачките УРЛ-та и явно това е станало :)

Иначе за преинсталиране май направо ще го затрия целия форум и после ще си възстановя 5те поста, които и без това аз само съм правил :) :)

Надявам се че този път ще стане... Може ли да питам и за съвет... като за нова инсталация по-добре ли е да ползвам webinstall-a (от http://download.simplemachines.org/) и дали да кача направо 2.0 RC1.2 (въпреки че не го препоръчват, дали имаш някакви наблюдения)? :) :)

ivo2296

QuoteПуснах му там да ми прави friendly за търсачките УРЛ-та и явно това е станало.

В админ панела натисни на ?(Подсказката)  Search engine friendly URLs. Ако видиш "This feature will not work on your server.", означава че няма смисъл да активираш тази фунция.
Apache AcceptPathInfo трябва да е включен за Queryless URL Support, но тъй като това не е твой сървър едва ли от хостинг фирмата ще го направят.

QuoteНадявам се че този път ще стане... Може ли да питам и за съвет... като за нова инсталация по-добре ли е да ползвам webinstall-a (от http://download.simplemachines.org/) и дали да кача направо 2.0 RC1.2 (въпреки че не го препоръчват, дали имаш някакви наблюдения)?

Аз лично не съм тествал webinstall.
Свалям инсталацията, качвам я на сървъра, и там я разархивирам.

За избор между SMF 1.1.xx или 2.0 RC2, решението зависи от това какви модове ще инсталираш в бъдеще.

Аз лично тествам имам копие от форума ми и на SMF 2.0 RC2, което неактивно за потребители. Имам и копие от SMF 1.1.10, на което тествам модове преди да ги инсталирам на работещия публичен форум.

notentered

Quote from: ivo2296 on October 19, 2009, 02:24:36 PM
В админ панела натисни на ?(Подсказката)  Search engine friendly URLs. Ако видиш "This feature will not work on your server.", означава че няма смисъл да активираш тази фунция.
Apache AcceptPathInfo трябва да е включен за Queryless URL Support, но тъй като това не е твой сървър едва ли от хостинг фирмата ще го направят.

Аха... вярно... честно казано го видях и не му обърнах внимание... таа... махнах го, мерси :)

Quote from: ivo2296 on October 19, 2009, 02:24:36 PM
Аз лично не съм тествал webinstall.
Свалям инсталацията, качвам я на сървъра, и там я разархивирам.

За избор между SMF 1.1.xx или 2.0 RC2, решението зависи от това какви модове ще инсталираш в бъдеще.

Аз лично тествам имам копие от форума ми и на SMF 2.0 RC2, което неактивно за потребители. Имам и копие от SMF 1.1.10, на което тествам модове преди да ги инсталирам на работещия публичен форум.

Преди малко реших да пробвам с нова инсталация... свалих си SMF от сайта, инсталирах си сложих му език и т.н. без webinstall, че не тръгна. И сега базата поне изглежда наред - всичко е utf8_unicode_ci. И проблема е същия, мога да поствам на кирилица, но когато едитна някой пост и ми кодира кирилицата с HTML Encode. И честно казано, вече съм убеден че е бъг на SMF и мисля да се заровя малко из кода да видя какво става... не ми се искаше да го правя предимно за да ми е по-лесно да инсталирам модове и евентуално да ъпдейтвам... но май друго не остана.

Хмм... а дали ще е прекалено нагло да те помоля да направиш един такъв тест и на някоя твоя инсталация, че е супер странно все пак... ако наистина е бъг ми се струва доста неприятен, че да няма никой друг, който да пише по въпроса? :)

notentered

#7
Разгеле :)
Ей го бъгът http://dev.simplemachines.org/mantis/view.php?id=1580

само дето е оправен само във версия 2

и енкодинга всъщност няма нищо общо с проблема, а само това, че като се едитва пост през quick edit прави ajax заявка... и съответно за да си предаде променливите като GET параметър му се налага да ги енкодне (ако има кирилица или други "странни" знаци)... иии съответно "забравя" да си го декодне след това

... все едно де... проблема го има до версия 1.1.10 включително и е доста досаден, но за щастие е оправен в 2

на линка отгоре има възможен фикс и за 1, но лично аз мисля да премина на 2, пък каквото сабя покаже :)

мерси за вниманието и помощта :)

ivo2296

Quote from: notentered on October 20, 2009, 12:54:08 PM
Разгеле :)
Ей го бъгът http://dev.simplemachines.org/mantis/view.php?id=1580

само дето е оправен само във версия 2

и енкодинга всъщност няма нищо общо с проблема, а само това, че като се едитва пост през quick edit прави ajax заявка... и съответно за да си предаде променливите като GET параметър му се налага да ги енкодне (ако има кирилица или други "странни" знаци)... иии съответно "забравя" да си го декодне след това

... все едно де... проблема го има до версия 1.1.10 включително и е доста досаден, но за щастие е оправен в 2

на линка отгоре има възможен фикс и за 1, но лично аз мисля да премина на 2, пък каквото сабя покаже :)

мерси за вниманието и помощта :)

Не мисля че проблема не е оправен относно енкодинга в RSS .
Тествах на 1.1.10 и на SMF 2.0 RC1.2 с Quick Edit и в RSS заглавията на публикациите не се четат.
За информация, ползвам енкодинг Windows-1251.

notentered

Хмм... ами при мен в 2.0 RC1.2 нещата се оправиха... но при мен наистина се оказа че не е енкодинга, а html кодирането, което става като се опитваш да предаваш GET параметри с кирилица, което пък става при ajax request-а, с който се запазва поста при quick edit.

При теб да не е нещо друго?... например наистина да е проблем с енкодинга. Маймуница ли ти стават заглавията или стават с &#1234?

Аз този път още с инстацията си оправих базата да е utf8... иии никакви проблеми... за сега :)

Сега мъча новата версия на RateThatTopic модула... учудващо е както от версия 1 до версия 2.2, нещата стават само по-зле... вместо да се оправят... нооо това е друга тема де... само си споделям :) :)

ivo2296

#10
Quote from: notentered on October 22, 2009, 04:29:47 AM
При теб да не е нещо друго?... например наистина да е проблем с енкодинга. Маймуница ли ти стават заглавията или стават с &#1234?

Само при RSS преглед се появява проблема в заглавието на темата след Quick Edit, като &#1234.
Проблема е че записва символите &#1234 и в базата данни.

 

notentered

Quote from: ivo2296 on October 22, 2009, 02:11:14 PM
Quote from: notentered on October 22, 2009, 04:29:47 AM
При теб да не е нещо друго?... например наистина да е проблем с енкодинга. Маймуница ли ти стават заглавията или стават с &#1234?

Само при RSS преглед се появява проблема в заглавието на темата след Quick Edit, като &#1234.
Проблема е че записва символите &#1234 и в базата данни.



Хмм... това вече е странно... може ли да погледна? :)


notentered

#13
... амиии честно казано май нямам никаква идея защо продължава да ти прави този номер и нa SMF 2, при мен наистина вече няма проблеми... ако се появят ще си кажа :)

... иначе за сега поне съм сигурен че енкодинга на базата няма нищо общо с този проблем.

... а и съвета просто да махнеш quick edit-a ми се струва разумен... пробем при мен беше че ми енкодваше и имената на юзерите... т.е. проблем имаше не само с quick edit и за това се бях заровил да го оправям по друг начин.

kpacn

Здравейте, инсталирах си SMF RC2.0 но имам проблем с енкодинга, като го пусна на български и ми излиза с квадрати. На браузера като му дам нормалния windows cyrilic се оправя но само за едно презареждане и после пак същото. Мисля че в не казва на браузъра че е windows а не UTF-8 когато енкодинга на браузера е на ауто. Има ли решение на проблема или превод с UTF-8.

kpacn

Като дам десен бутон и view source според мен в първия ред

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

charset трябва да е windows 1251 ама къде да го променя за да стане

kpacn

Явно никой няма да отговори ама на принципа на неволята се оправих, поне да напиша тук ако някой има подобен проблем. Свалих и инсталирах Bulgarian UTF-8 и сега работи нормално. Проблема е че трябва да се инсталира ръчно защото ако се използва add language от администрацията на форума този language pack не го дава като опция има само windows-1251. Иначе Bulgarian UTF-8 го има тук:

http://download.simplemachines.org/?languages;lang=bulgarian

трябва да се свали и да се разархивира в директорията на SMF. А windows-1251 има някакъф бъг и постоянно казва на браузъра че е UTF-8 и излизат йероглифи.

ivo2296

#17
Quote from: ivo2296 on October 22, 2009, 02:11:14 PM
Quote from: notentered on October 22, 2009, 04:29:47 AM
При теб да не е нещо друго?... например наистина да е проблем с енкодинга. Маймуница ли ти стават заглавията или стават с &#1234?

Направих тесттови инстлации на UTF8 и проблема с
Само при RSS преглед се появява проблема в заглавието на темата след Quick Edit, като &#1234.
Проблема е че записва символите &#1234 и в базата данни.
 

Продължавам си мисълта...
Направих тестови инстлации на UTF8.
След пробите с Quick Edit проблема със записването на символи в базата си остава. Уведомил съм за това програмистите на SMF.

Пуснете търсене през phpMyAdmin на &#1 или &#10 след като сте ползвали Quick Edit .

След това направете нормален Edit - Modify и ще видите вече буквите нормално в базата.

Advertisement: