otóż zainstalowałem na localhost joomla 1.0.8 w wersji utf i iso z tutejszej plikowni, a następnie forum smf 1.1RC2 i integrację do obu joomli (wszystko na jednej bazie z różnymi prefiksami)
i teraz - w wersji iso mogę się zalogować, w wersji utf8 nie. Jutro zabiorę się za szukanie tej igły która sprawia że wersja utf8 nie działa poprawnie...
pozdrówki
frico
06-04-2006, 22:57
Na Twoim miejscu napisał bym nawet "buga stworzyłem" :D
(W wyniku prac nad utefizacją)
Strzelałbym w kierunku przekłamania w przekazywaniu przez łacznik loginu i hasła.
Pozdrawiam
frico
palik
06-04-2006, 23:03
heh no nie jestem pewien czy stworzyłem... zainstalowałem sobie to wszystko na czysto na localhost, bez żadnych danych z poprzednich baz, konwersji, upgradeów... wszystko na najzwyklejszych ustawieniach - joomle obie i bridge stąd, smf ze strony smf...
Co zaobserwowałem - na joomli utf rejestracja przebiega poprawnie tylko dla jednej strony mostu - czyli jeśli jest rejestracja przez mambo - użytkownik tworzy się tylko w mambo, jeśli jest smf - tylko w smf... co najśmieszniejsze użytkownik admin standardowy z joomli i smf mający takie samo hasło również nie może się zalogować...
zaczynam wymiękać - programem WinMerge zrobiłem skan i plików rózniących się w obu dystrybucjach jest jak na lekarstwo, raptem pliki językowe, coś w tinymce i w templatce... myślałem że może ktoś składając utfową wersję joomli coś przestawił, zmienił... a tu nic...
No nic prześpię się z tym i jutro postaram się prześledzić co łatanie pliku z komponentu integracyjnego tak naprawdę zmienia - które pliki ... ok do usłyszenia :)
EDIT
oczywiście jak to ja, nie przespałem się tylko siedziałem do teraz :D
winna była oczywiście różnica w kodowaniu w polach smf.membername i jos.name/username - po prostu funkcja w kodzie dodawanym do smf porównująca te pola kończyła swoje działanie nie zwracając żadnego wyniku (illegal collation latin_swedish_1 i utf8_general_ci - ale tego błędu nie było widać i to mnie zmyliło) ...
poprawiłem wszystkie wpisy z latin1 (zostały mi jeszcze po starym mambo niektóre) na utf8 i ruszyło!
Wniosek - jeśli w tabelach smf_members i jos_users są różne kodowania/system porównań to integracja nie będzie działać poprawnie :)
pozdrawiam i polecam się na przyszłość :)
słowa kluczowe dla szukających w przyszłości - smf 1.1rc2 utf8 joomla utf-8 integracja joomlahacks
viper
07-04-2006, 18:31
Zobacz ten wątek Mambel Fish - SMF Problem z kodowaniem UTF8 (http://www.simplemachines.pl/component/option,com_smf/Itemid,26/topic,172.0) Może Ci się ta informacja przyda
palik
08-04-2006, 14:49
dzięki wielkie ale ja już mam wszystko w utf8, i joomlę i smf, i pozmieniałem oczywiście polskie langi stosownie (konwersja itd) - wszystko mi działa należycie
Dodatkowa moja rada na serwery z ustawionym domyślnie latin2 jako kodowanie bazy danych - w moim wypadku musiałem dodać linijkę do index.php forum, w okolicy linii 70, nad komentarzem
// Load the settings from the settings table, and perform operations like optimizing.
dodałem linijkę
mysql_query ("SET NAMES 'utf8'");
która po połączeniu z bazą zmienia domyślny tryb połączenia na utf8, nieważne jaki jest ustawiony na serwerze... przynajmniej ja tak to rozumiem, no i przede wszystkim działa :)
dodatkowo w pliku Themes/default/languages/index.polish.php
zmieniłem ustawienie nie tylko zmiennej lang_character_set ale też
$txt['lang_locale'] = 'pl_PL.UTF-8';
po co? bez tego wywołąnie funkcji date zwraca nam informacje w domyślnym kodowaniu serwera (u mnie latin2), a dodając .UTF-8 nakazujemy aby te dane były podawane w utf8 (dzięki czemu nazwy miesięcy i dni są poprawnie wyświetlane)
Przyznam z lekką nieśmiałością, że sporo z tego co tu opisałem pomogli mi zrobić admini serwera blink.pl na którym mam kupiony hosting pod stronę - kryptoreklama czy nie, tym gościom należy się szacuneczek!
działające forum i joomlę można podziwiać (o ile nie zepsuję czegoś) pod adrese, forum.shadowrun.rpg.pl - zapraszam :)