konto usunięte

Temat: PHPBB i polskie znaki

Mój problem przestawia się następująco: mam forum w phpbb, a na stronie głównej innej stronki chcę wyświetlić listę ostatnich tematów. Problem tkwi w wyświetlaniu polskich (i nie tylko) znaków w tym drugim miejscu. Mam np. taką listę tematów:

über alles, ëěéverlasting
Czy działają?
Welcome to phpBB3

Na stronie, na której wykonuję prostą kwerendę z JOINem i wszystko prosto na ekran, wygląda to tak:

�ber alles, �?�verlasting
Czy dzia?aj??
Welcome to phpBB3

Nie ma mowy o charsetach w bazie, ponieważ zarówno pole topic_title, jak i inne pola, w których z powodzeniem zapisuję znaki w unicode i nie mam krzaków przy wyświetlaniu, używają utf8_unicode_ci. Z dłuższego googlowania i przeglądania źródeł doszedłem do mbstringa. Po użyciu mb_convert_encoding($row['topic_title'], 'utf8') otrzymałem

über alles, ë?éverlasting
Czy dzia?aj??
Welcome to phpBB3

Proszę o pomoc. Jeśli mi któryś rzuci linkiem do ujeb.pl z zapytaniem typu 'phpbb unicode problem' to rzucę na niego klątwę wiecznej impotencji :(
Daniel F.

Daniel F. CEO, Miller-Fukuda
Nieruchomości

Temat: PHPBB i polskie znaki

Spróbuj ustawić:
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

konto usunięte

Temat: PHPBB i polskie znaki

Dzięki.

Tylko, że teraz wywalają się polskie znaki w zapytaniu, które wykonuję później.

Co powinienem zrobić, aby poprawić polskie znaki w swoich kwerendach, żebym nie musiał grzebać w kodzie phpbb ani po sto razy wykonywać SET?

EDIT: po wycinaniu Twoich kwerend okazało się, że wystarczy tylko wykonać "SET NAMES 'utf8'".

EDIT2: w sumie głupie moje pytanie. Dałem "SET NAMES 'utf8'" zaraz po łączeniu się z bazą. Trochę polskich znaków musiałem popoprawiać, ale żaden problem. Dziwne tylko, że w bazie w której wszystko jest ustawione na utf coś takiego wywala całą kompatybilność znaków.

Jeszcze raz wielkie dzięki za pomoc.Bartosz Zasada edytował(a) ten post dnia 08.07.09 o godzinie 02:42
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: PHPBB i polskie znaki

W bazie jest ustawione ale domyślne kodowanie połączenia to osobna sprawa. Zresztą jest to też do ustawienia w pliku konfiguracyjnym MySQL.

http://dev.mysql.com/doc/refman/5.0/en/charset-connect...

A jeślibyś korzystał przypadkiem z mysqli, to masz do tego funkcję mysqli::set_charset

http://www.php.net/manual/en/mysqli.set-charset.php



Wyślij zaproszenie do