Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]prosty Shoutbox - kodowanie
sciss
post 3.06.2013, 13:17:49
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 smile.gif ) i postanowiłem dodać jakiegoś shoutboxa. Znalazłem całkiem fajnego na stronie:
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 facepalmxd.gif

EDIT2: Serwer ruszył jakby ktoś miał chęć zajrzeć...

Ten post edytował sciss 3.06.2013, 13:23:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
lobopol
post 3.06.2013, 13:22:37
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


--------------------
Go to the top of the page
+Quote Post
sciss
post 3.06.2013, 20:07:38
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 &Atilde
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   questionmark.gif c
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ś &Auml i &Aring.

Ten post edytował sciss 3.06.2013, 20:08:21
Go to the top of the page
+Quote Post
lobopol
post 3.06.2013, 20:12:37
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ś?


--------------------
Go to the top of the page
+Quote Post
sciss
post 3.06.2013, 20:33:56
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">
Go to the top of the page
+Quote Post
lobopol
post 3.06.2013, 20:38:54
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


--------------------
Go to the top of the page
+Quote Post
sciss
post 3.06.2013, 20:51:15
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.
Go to the top of the page
+Quote Post
lobopol
post 3.06.2013, 21:10:19
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.


--------------------
Go to the top of the page
+Quote Post
sciss
post 3.06.2013, 21:37:27
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.
Go to the top of the page
+Quote Post
lobopol
post 3.06.2013, 21:46:32
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)
cool.gif masz coś źle ustawione w konfiguracji apache
c) masz coś źle ustawione kodowanie znaków w przeglądarce

innej opcji nie ma


--------------------
Go to the top of the page
+Quote Post
sciss
post 3.06.2013, 22:11:42
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:36