![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Tworzę prostą stronę na własny użytek (pierwszy raz od 10 lat i tym razem nie we FrontPage Express ![]() http://www.htmlandphp.com/scripts/simple-p...e-shoutbox.html Jego zaletą jest prostota oraz brak Mysql - korzysta ze zwykłego pliku tekstowego. Nie obsługiwał nowych linijek i miał buga w wyświetlaniu daty, ale można to łatwo naprawić - jest w komentarzach na w/w stronie. Jednak nie mogę sobie poradzić z obsługą kodowania polskich znaków. W sensie, żeby poprawnie zapisywal i odczytywał polskie znaki z tego tekstowego pliku. Próbowałem różnych porad, przekopywałem googla i nic. Jednakże moja wiedza nt. php jest znikoma, więc może to coś prostego? Tutaj można zobaczyć go w akcji: http://diablo.ict.pwr.wroc.pl/~bmajda/shoutbox/index.php Tutaj plik tekstowy, w którym zapisują się wiadomości: http://diablo.ict.pwr.wroc.pl/~bmajda/shoutbox/data/data.csv Czy wiecie jak zmusić go do wyświetlania polskich znaków? EDIT: ups coś uczelniany serwer się przyciął i na razie nie odpalają te strony z przykładami shoutboxa ![]() EDIT2: Serwer ruszył jakby ktoś miał chęć zajrzeć... Ten post edytował sciss 3.06.2013, 13:23:02 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
jakie kodowanie mają pliki? Zmień na utf-8 bez bom
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Mam linuksa i w nim chyba standardowo jest utf-8. Dla pewności jeszcze raz przez shella pootwierałem emacsem wszystkie pliki i pozapisywałem z ustawionym kodowaniem utf-8. Nadal kicha. Plik z danymi otwarty hexedytorem wygląda tak:
Kod 0000000: 3c61 2068 7265 663d 2268 7474 703a 2f2f <a href="http:// 0000010: 6f6e 6574 2e70 6c22 2074 6172 6765 743d onet.pl" target= 0000020: 225f 626c 616e 6b22 3e74 6573 743c 2f61 "_blank">test</a 0000030: 3e2c 3133 3730 3238 3539 3838 2c65 2026 >,1370285988,e & 0000040: 4175 6d6c 3b99 206f 2026 4174 696c 6465 Auml;. o à 0000050: 3b26 7375 7033 3b20 6120 2641 756d 6c3b;? a Ä 0000060: 8520 7320 2641 7269 6e67 3b9b 207a 2026 . s ?. z & 0000070: 4172 696e 673b 2666 7261 6331 343b 2078 Aring;? x 0000080: 2026 4172 696e 673b 266f 7264 6d3b 2063 ![]() 0000090: 2026 4175 6d6c 3b87 206e 2026 4172 696e Ä. n &Arin 00000a0: 673b 840a 7465 7374 2c31 3337 3032 3836 g;..test,1370286 00000b0: 3131 342c 4520 2641 756d 6c3b 9820 4f20 114,E Ä. O 00000c0: 2641 7469 6c64 653b 9320 4120 2641 756d ?. A &Aum 00000d0: 6c3b 8420 5320 2641 7269 6e67 3b9a 204c l;. S ?. L 00000e0: 2026 4172 696e 673b 8120 5a20 2641 7269 ?. Z &Ari 00000f0: 6e67 3b26 7261 7175 6f3b 2058 2026 4172 ng;? X &Ar 0000100: 696e 673b 2673 7570 313b 2043 2026 4175 ing;? C &Au 0000110: 6d6c 3b86 204e 2026 4172 696e 673b 830a ml;. N ?.. Więc nie ma tego BOOMa. Inne pliki (index.php itd.) też go nie mają. Powpisywałem teraz w shoutboxa coś takiego: a ą e ę o ó itp. A zamiast ą i ę wychodzą jakieś Ä i Å. Ten post edytował sciss 3.06.2013, 20:08:21 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Odpaliłem ten skrypt u siebie lokalnie. Działa co zmieniałeś?
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Praktycznie nic. Dodałem tylko kropkę przed slashem w index.php, bo się arkusz css nie chciał załadować:
Kod <link rel="stylesheet" type="text/css" href="./styles/styles.css">
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli wychodziłoby, że coś z kodowaniem spsułeś upewnij się, że jest utf8 bez bom
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wg http://stackoverflow.com/a/3380089 BOOM charakteryzuje się tym, że ma na początku pliku bajty EF BB BF. Sprawdziłem wszystkie pliki hexedytorem i żaden nie miał takich bajtów na początku.
Dodam też tak z zupełnie innej strony, że ten plik data.csv musiałem sam stworzyć i nadać mu prawa 777, bo skrypt sam strzelał errorami, gdy pliku nie było na początku. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ale plik może być np. ansii bądź innym kodowaniu po prostu się upewnij.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wg http://stackoverflow.com/a/700221 w pliku kodowanym utf-8 - jeśli nie ma znaków specjalnych, kodowanych (takich jak np polskie znaki), to znaki koduje jako ascii. W tych plikach php nie ma żadnych ogonków, wszystko pisane jest po angielsku, więc de facto pliki są zakodowane w ascii.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Posłuchaj, ściągnąłem ten kod wypakowałem i zmieniłem ścieżkę dla css. Wszystko działa. Więc:
a) zwaliłeś w jakiś sposób kodowanie (obstawiam, że w pliku cvs lub index.php) ![]() c) masz coś źle ustawione kodowanie znaków w przeglądarce innej opcji nie ma -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Skasowałem wszystkie pliki i wgrałem od nowa tym razem wklejając do edytora, poprawiłem literówkę z kropką w index.php, usunąłem data.csv, dałem chmod 777 data/ dzięki czemu plik data.csv zaczął się sam tworzyć bez problemu, ale to nic nie dało jeśli chodzi o kodowanie :/
Jeśli chodzi o a)nie mam pojęcia jak mógłbym zwalić kodowanie wklejając zawartość w linuksowy edytor, który domyślnie zapisuje jako utf8 b)apache - nie wiem, raczej nie mam dostępu do konfiguracji. Co prawda próbowałem na dwóch serwerach i wciąż te same kwiatki zamiast ogonków wyskakują c)chrome wykrywa mi stronę jako utf8 ... Mimo wszystko dzięki lobopol za próbę pomocy. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:36 |