![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Buduje obecnie aplikacje w oparciu o CodeIgnitera i trafilem na sciane, probuje to rozwiazac od dobrych dwoch tygodni i wszystkie moje wysilki spelzly na niczym. Problem jest prosty: na stronie (wynikach wyszukiwania) wysypuje sie kodowanie przy probie wyswietlenia tekstu pobranego z bazy MySQL. Wyswietlane sa krzaki. Probowalem nastepujacych rzeczy: - dopisanie do widoku <meta http-equiv=“content-type” content=“text/html; charset=utf-8”/> - podwojne sprawdzenie kodowania w bazie i tabel - wszystko jest na UTF8 - ustawienie zmiennych MySQL (character_set_client, character_set_result etc.) na UTF8 - wywolanie $this->db->query("SET NAMES 'utf8'"); przed kwerenda - dopisanie do my.cnf [mysqld] skip-character-set-client-handshake=1 default-character-set=utf8 - pozamienianie wszystkich funkcji w stylu strlen, strpos, preg_match na mb_* Teraz najciekawsze: - wywolanie daje latin1 - wywolanie na stringu z bazy daje UTF8 Uzywam: CodeIgniter 2.0.2 MySQL 5.0.45 PHP 5.2.6 Apache 2.2.9 NetBeans 6.8 Nie wiem juz czy ja cos zle robie, czy to wina MySQL, czy CI. Na forum CodeIgnitera mi nikt nie pomogl. Dziekuje z gory za jakakolwiek pomoc. Ten post edytował gh0st 21.07.2011, 10:09:17 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W takim wypadku pozostaje:
1) użycie mysql_set_charset dla połaczenia (tak na wszelki wypadek, bo widze w poście, że sie już tym zainteresowaleś) 2) sprawdzenie czy pliki same nie są zapisane w standardzie ANSI zamiast utf-8 O ile to pierwsze jest oczywiste, to drugie często jest niezauważone. Lepiej sprawdź, jakie jest wewnętrzne kodowanie plikow, bo najczęściej twórcy wszelakich frameworków radośnie uważają, że każdy tekst na stronie jest w zakresie kodowym języka angielskiego. A potem tacy polacy czy chińczycy sypią "kobietami lekkich obyczajów" pod niebiosa (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 10:55 |