Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak wyswietlania polskich znakow pod Apachem.
Forum PHP.pl > Forum > Serwery WWW > Apache
coolb
Witam.
Zainstalowalem najnowszego Foxserva pod Windowsem 2000.
Pojawił mi się problem ze znakami polskimi. Nie wyświetlają się wszystkie znaki.
Wczesniej korzystalem z foxserva 1 i nie mialem takiego problemu. Czcionki dzialaly.
Co powinienem zrobic lub ustawic?
Z gory dziekuje za pomoc. sad.gif
GeoS
Jakiego pochodzenia sa te polskie znaki :?:

Domyslam sie, ze wyciagasz je z bazy danych. Znajdź u siebie plik my.cnf i znajdź sekcję [mysqld]. Musi się tam wpisac:
Kod
default-character-set = latin2

language = polish


To powinno pomoc biggrin.gif
coolb
Witam.<BR>
Dzieki za pomoc.<BR>
Probowalem znalezc ten plik o ktorym pisales ale bez skutku. Nie ma go na moim dysku. sad.gif<BR>
Ale znaki polskie nie wyswietlaja sie ze zwyklych stron. Tzn mam strone plik.htm w ktorym jest napisane:
"ąśżźćółęń" po uruchomieniu tego pliku spod serwera pokazuje się napis: "šœżŸćółęń". Natomiast jezeli uruchomie ten plik z dysku to wszystko jest OK.<BR>
Być moze czegos nie ustawilem. Prosze o wskazowke lub pomoc.
Jeszcze raz dzieki.
GeoS
Kod
<meta http-equiv=Content-Type content=text/html;charset=iso-8859-2>

Wstaw to w kod strony w sekcje <HEAD>.
coolb
To nie tego wina. Wstawialem juz znaczniki kodowania strony.<BR>
A moze gdzies w Apachu ustawia sie fonty polskie lub cos takiego?<BR>
Nie znam sie na tym tak dobrze, wiec nie wiem co mam zrobic.<BR>
To musi byc gdzies w Apachu lub php poniewaz strona otwiera sie prawidlowo z dysku lokalnego. Tylko nie z serwera.<BR>
Dzieki za rady.<BR>
Oczekuje dalszych.<BR>
Pozdrawiam.<BR>
CoolB sad.gif
GeoS
Podaj zrodlo wynikowej strony - wtedy moze bedziemy w stanie cos pomoc.
hADeSik
Wiem, że to banał, ale nie wystarczy określić kodowania - trzeba jeszcze odpowiednio 'zakodować' to co się pisze...
coolb
Witam.
Sprobuje opisac jeszcze raz moj problem.
Na windowsie 2000 mam postawiony serwer Apache. (Foxserv).
W katalogu c:foxservwww jest plik index.htm
Zawartość pliku htm:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<font face="Tahoma" size="2" color="#000000">
ąśżźćółęń
</body>

Jezeli strone ta otworze z dysku lokalnego czyli w IE wpisze c:foxservwwwindex.htm
To pokaze mi sie prawidlowa zawartosc strony.
Czyli napis:
ąśżźćółęń
Natomiast jezeli uruchomie strone z serwera czyli w IE wpisze localhost/index.htm
to ukaze mi sie napis:
š?ż?ćółęń
Najlepsze jest to, ze jezeli w tym drugim przypadku zobacze zrodlo strony to wszystko jest OK.
W notatniku wyswietla sie prawidlowo.
Zauwazylem, ze ma to zwiazek z kodowaniem plikow htm. Edytuje je przez Notatnika w Windowsie. JEzeli zapisze jako pliki z kodowaniem ANSI to nie wyswietlaja sie polskie znaki. Natomiast jezeli w UNICODE to znaki polskie sie ukazuja tylko, ze kod php sie nie przetwarza.
Nie wiem juz co mam zrobic by strony wyswietlaly mi sie prawidlowo. sad.gif

Pomocy!


CoolB
hADeSik
Zamiast windows-1250 daj iso-8859-2
A literki kodyj tak:
Kod
ę ó ± ¶ ł ż Ľ ć ń Ę Ó  ˇ  ¦  Ł  Ż ¬ Ć Ń

ę ó ą ś ł ż ź ć ń   Ę Ó Ą Ś Ł Ż Ź Ć Ń

W przypadku wątpliwości podglądnij źródło np. tej strony w notatniku...

A tak na marginesie to chyba to są podstawy htmla...
hADeSik
sorry, ale pierwsza linijka kodu została przekodowana - zobacz źródło tej strony ;-)
coolb
Witam. To niestety nie jest tego wina.
Nie zaleznie od tego jakie dam kodowanie problem pozostaje bez zmian.
Natomiast jeżeli dam wyswietl zrodlo, to w notatiku wszystko jest ok.
A propos: ta sama strona na dysku lokalnym dziala prawidlowo, a uruchomina z serwera nie! sad.gif
Pozdrawiam.

CoolB
GeoS
1. Przejdz na wlasciwy (ogolnie przyjety) polski standard kodowania znakow.
2. Jak juz to zrobisz, to w notatniku przy edycji pliku powinny zamiast: ą, ś, ź, Ą, Ś i Ź wyswietlac sie stosowne krzaczki: &plusmn;, &para;, Ľ, ˇ, &brvbar; i &not;.
3. To cala filozofia.

PS Niestety forum przerobilo niektore znaki, ale wrzuc je sobie w strone w HTMLu i pozniej otworz - uzyskasz wlasciwe znaczki smile.gif
eclipse
a moze poprostu w configu apacha (httpd.conf) dopisz (lub zmien) taka linie:

AddDefaultCharset ISO-8859-2

bo domyslnie (chyba) jest ISO-8859-1
coolb
dzieki. teraz jest juz wszystko OK.
Tzn prawie wszystko.
Stronki wyswietlaja sie poprawnie, tylko przy drukowaniu spod php nie ma polskich znakow na drukarce. Ale z tym chyba sobie poradze.
Dzieki za pomoc.
Pozdrawiam

CoolB
wool
Cytat
Probowalem znalezc ten plik o ktorym pisales ale bez skutku. Nie ma go na moim dysku. sad.gif<BR>
Ale znaki polskie nie wyswietlaja
Jest tylko pod nazwą my-example.cnf musisz ją zmienić na właściwą my.cnf
GeoS
Ustaw sobie w php.ini:
Cytat
; As of 4.0b4, php always outputs a character encoding by default in
; the Content-type: header.  To disable sending of the charset, simply
; set it to be empty.
;
; php's built-in default is text/html
default_mimetype = "text/html"
default_charset = "iso-8859-2"
wool
Cytat
a moze poprostu w configu apacha (httpd.conf) dopisz (lub zmien) taka linie:

AddDefaultCharset ISO-8859-2

bo domyslnie (chyba) jest ISO-8859-1

to nie ma nic wspólnego z ze sposobem generowania znaków narodowych, Apach-a nie interesuje sposób kodowania strony, ustawiasz to w (tak jak gajcy napisał) albo w skrypcie poprzez wysłanie nagłówka:
header("Content-type:text/html; charset=ISO-8859-2");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.