Adrian Głowacki

Adrian Głowacki Żołnierz, KPW
Świonoujście

Temat: Polskie krzaczki różne przeglądarki

Witam!
Pisze stronę http://magikkomputerowy.cba.pl/Ajra/register.htm i mam problem z polskimi znakiami. Mianowicie w przeglądarce chrome i opera wszystko gra ale mozilla i oczywiście IE nie (są krzaczory). Użyłem charset=iso-8859-2 i zdziczałem. jest jakiś inny "uniwersalny" standard pod wszystkie przeglądarki czy mam tworzyć ręcznie dla każdej przeglądarki osobno?

I jeszcze jeden quest stronę główną w Chrome Operze i Mozilli wyświetla ok ale w IE kiepsko jak sądzicie lać temat IE czy również osobo tworzyć CSS dla tej przeglądarki?:
http://magikkomputerowy.cba.pl/Ajra/index.phpTen post został edytowany przez Autora dnia 24.08.13 o godzinie 10:01
Leszek Iwaniec

Leszek Iwaniec Programista PHP,
Webmaster

Temat: Polskie krzaczki różne przeglądarki

Witaj, u mnie nawet jest gorzej bo na chrome też są krzaki...powiedz mi w jakim kodowaniu zapisałeś pliki? Czy system korzysta z jakiejś bazy danych? Jeśli tak to jak to w DB wygląda?

konto usunięte

Temat: Polskie krzaczki różne przeglądarki

koduj wszystko w UTF-8 wtedy nie będziesz miał takiego problemu
Adrian Głowacki

Adrian Głowacki Żołnierz, KPW
Świonoujście

Temat: Polskie krzaczki różne przeglądarki

Zmiana na UTF- 8 tylko pogorszyła sprawę...
Tomasz Zadora

Tomasz Zadora programuję

Temat: Polskie krzaczki różne przeglądarki

Korzystaj z edytora który odpowiednio koduje plik/stronę HTML. Polecam mimo wszystko UTF-8 bo to jest bardziej uniwersalny standard (więcej znaków) niż iso-8859-2.

Możesz korzystać np. z darmowego Netbeans:

https://netbeans.org/downloads/

ściągasz wersję dla PHP, tworzysz nowy projekt PHP, kodowanie od razu z tego co pamiętam domyślnie jest UTF-8.

PS. U mnie żadnych krzaków w chrome nie ma na Twojej stronie.Ten post został edytowany przez Autora dnia 24.08.13 o godzinie 11:49

konto usunięte

Temat: Polskie krzaczki różne przeglądarki

Adrian G.:
Zmiana na UTF- 8 tylko pogorszyła sprawę...

Sama zmiana w meta nic nie da. Musisz jeszcze przekonwertować stronę na utf (zapisać znaki w utf).

Notepad++ wystarczy do tego ;)

Wtóre - skoro piszesz w dziale poświęconym PHP to znaczy, że strona jest pisana w PHP mimo, że końcówka jest .htm ? Jeśli w php to dodatkowo w header wysłałbym
header('Content-Type: text/html; charset=utf-8'); 


lub analogicznie

header('Content-Type: text/html; charset=iso-8859-2'); 


Jednak wcześniej czy później zaczniesz mieć coraz więcej kłopotów z 8859-2 dlatego lepiej od początku zrobić to w utf.

Adrian Stolarski

Wypowiedzi autora zostały ukryte. Pokaż autora
Robert P.

Robert P. Senior PHP Developer

Temat: Polskie krzaczki różne przeglądarki

Kodowanie tekstu na stronie zależy od wielu rzeczy.

1. Ustal jaki standard kodowania chcesz mieć na stronie polecam UTF-8
2. Skąd tekst posiadający krzaki jest pobierany

- jeśli jest to baza danych to musisz mieć kodowanie w tabeli ustawione na te którego używasz(np UTF-8)
musisz mieć ustawione połączenie jako UTF8

SET NAMES utf8;


- jeśli tekst jest pobierany z pliku to sprawdź w ustawieniach edytora tekstowego w jakim kodowaniu jest plik zapisywany i zmień na utf8(lub inne na które sie zdecydowałeś)

3. Ustaw kodowanie w przeglądarce można to zrobić na kilka sposobów najprostszym jest ustalenia tagu "meta"

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />


możesz to również zrobić na poziomie wysyłania treści do serwera poprzez dodanie nagłówka Content-Type

w php wygląda to tak

header('Content-Type: text/html; charset=utf-8'); 


ustawienie kodowania można też zrobić za pomocą serwera http np za pmoocą htaccess

AddDefaultCharset utf-8


lub

AddCharset utf-8 .html .css .js


dla specyficznych plików ustawia kodowanie utf-8. Polecam utf8 z uwagi na to, że zawiera wiele znaków i przeważnie wystarcza dla potrzeb strony(w tym polskie znaki) jeśli piszesz strone po chińsku/japońsku wtedy musisz zmienić kodowanie. utf8 jest w 100% zgodne z ASCII co też jest dużą zaletą.

Polecam również przeczytać artykuł http://www.joelonsoftware.com/articles/Unicode.htmlTen post został edytowany przez Autora dnia 26.08.13 o godzinie 13:04

konto usunięte

Temat: Polskie krzaczki różne przeglądarki

Robert P.:
...

Wiesz, że dzwonią ale nie wiesz w którym kościele.

Lepiej już nie udzielaj rad i nie pisz artykułów.

Niestety (dla Ciebie) ustawienia w header i w meta nie mają nic do siebie - czyli nie mogą być wykorzystywane zastępczo co sugerujesz pisząc :
3. Ustaw kodowanie w przeglądarce można to zrobić na kilka sposobów najprostszym jest
ustalenia tagu "meta"
...
możesz to również zrobić na poziomie wysyłania treści do serwera poprzez dodanie nagłówka
Content-Type

czyli prościej nagłówek HTTP. Niestety zmartwię Ciebie i jeszcze raz napiszę: to są dwa różne elementy i nie zastępują się wzajemnie. Prawdopodobnie właśnie z tego powodu., że serwer ma ustawione utf-8 a w html ma w iso-8859-2 to "krzaczy się w różnych przeglądarkach" a w szczególności w IE.

Inaczej niż opisałeś ma się też sprawa z mysql, który wcale nie musi mieć ustawionego utf-8 a mimo wszystko można prawidłowo wyświetlać polskie znaki diakrytyczne.

Eh.. pomagiery.
Robert P.

Robert P. Senior PHP Developer

Temat: Polskie krzaczki różne przeglądarki

Robert B.:
Robert P.:
...

Wiesz, że dzwonią ale nie wiesz w którym kościele.

Lepiej już nie udzielaj rad i nie pisz artykułów.

Niestety (dla Ciebie) ustawienia w header i w meta nie mają nic do siebie - czyli nie mogą być wykorzystywane zastępczo co sugerujesz pisząc :
3. Ustaw kodowanie w przeglądarce można to zrobić na kilka sposobów najprostszym jest
ustalenia tagu "meta"
...
możesz to również zrobić na poziomie wysyłania treści do serwera poprzez dodanie nagłówka
Content-Type

czyli prościej nagłówek HTTP. Niestety zmartwię Ciebie i jeszcze raz napiszę: to są dwa różne elementy i nie zastępują się wzajemnie. Prawdopodobnie właśnie z tego powodu., że serwer ma ustawione utf-8 a w html ma w iso-8859-2 to "krzaczy się w różnych przeglądarkach" a w szczególności w IE.

Inaczej niż opisałeś ma się też sprawa z mysql, który wcale nie musi mieć ustawionego utf-8 a mimo wszystko można prawidłowo wyświetlać polskie znaki diakrytyczne.

Eh.. pomagiery.


Nie rozumiem Twojego postu.

Gdzie pisze że ustawienia w header i meta nie mają nic do siebie?
Content type może ustawić apache może to zrobić również zrobić php.
Meta jest najmniej inwazyjne i kodowanie ustawianie jest dopiero po dotarciu parsera przeglądarki do meta w przypadku php następuje to wcześniej.

Nigdzie nie napisałem, że musi być utf-8 przeczytaj jeszcze raz, jeśli lubisz używać jedno bajtowego kodowania ISO 8859-1 ISO 8859-2 to proszę bardzo.

Co do reszty tego co napisałeś to jeśli używasz IE6 to może masz problemy, w standardzie http 1.1 RFC 2616 jest nagłowek Content-Type gdzie ustalasz typ MIME + w zależności od typu jego kodowanie. Jest jeszcze takie coś jak Accept-Encoding który określa akceptowane typy kodowania przez przezglądarkę.

Jeśli chciałeś mi ubliżyć to miej do tego podstawy. Wysnuwanie bezsensownych wniosków z mojej wypowiedzi i późniejsze ich komentowanie stoi na niskim poziomie. Przeczytaj ze zrozumieniem to co napisałem.

Btw gdzie napisałem, ze mysql musi mieć ustawione utf8 żeby prawidłowo wyświetlać polskie znaki?

konto usunięte

Temat: Polskie krzaczki różne przeglądarki

Robert P.:
...
Btw gdzie napisałem, ze mysql musi mieć ustawione utf8 żeby prawidłowo wyświetlać polskie znaki?


Tutaj:
Robert P.:
Kodowanie tekstu na stronie zależy od wielu rzeczy.

1. Ustal jaki standard kodowania chcesz mieć na stronie polecam UTF-8
2. Skąd tekst posiadający krzaki jest pobierany

- jeśli jest to baza danych to musisz mieć kodowanie w tabeli ustawione na te którego
używasz(np UTF-8)

z naciskiem na:
- jeśli jest to baza danych to musisz mieć kodowanie w tabeli ustawione na te którego
używasz(np UTF-8)

Wystarczyło napisać: takiego jak używasz w mysql (np UTF-8) bo w tym kontekście, który napisałeś jest to do odczytania bardzo różnie - np. tak jak ja to odczytałem czyli "kodowanie w tabeli ustawione na te którego używasz na stronie".

Kilka innych niedomówień sprawiło, że napisałem to co napisałem. Po Twoich wyjaśnieniach widzę, że źle odczytałem a właściwie źle (niedokładnie) Ty to napisałeś dając możliwość dość swobodnej interpretacji swojej wypowiedzi.

Nie zawsze uda się nam zapisać to co chcemy a później takie niedomówienia sieją wątpliwości.Ten post został edytowany przez Autora dnia 28.08.13 o godzinie 13:27
Robert P.

Robert P. Senior PHP Developer

Temat: Polskie krzaczki różne przeglądarki

Robert B.:
Robert P.:
...
Btw gdzie napisałem, ze mysql musi mieć ustawione utf8 żeby prawidłowo wyświetlać polskie znaki?


Tutaj:
Robert P.:
Kodowanie tekstu na stronie zależy od wielu rzeczy.

1. Ustal jaki standard kodowania chcesz mieć na stronie polecam UTF-8
2. Skąd tekst posiadający krzaki jest pobierany

- jeśli jest to baza danych to musisz mieć kodowanie w tabeli ustawione na te którego
używasz(np UTF-8)

z naciskiem na:
- jeśli jest to baza danych to musisz mieć kodowanie w tabeli ustawione na te którego
używasz(np UTF-8)

Wystarczyło napisać: takiego jak używasz w mysql (np UTF-8) bo w tym kontekście, który napisałeś jest to do odczytania bardzo różnie - np. tak jak ja to odczytałem czyli "kodowanie w tabeli ustawione na te którego używasz na stronie".

Kilka innych niedomówień sprawiło, że napisałem to co napisałem. Po Twoich wyjaśnieniach widzę, że źle odczytałem a właściwie źle (niedokładnie) Ty to napisałeś dając możliwość dość swobodnej interpretacji swojej wypowiedzi.

Nie zawsze uda się nam zapisać to co chcemy a później takie niedomówienia sieją wątpliwości.


Co jest niezrozumiałego w zdaniu

"Jeśli jest to baza danych to musisz mieć kodowanie w tabeli ustawione na te którego używasz(NP UTF8).

Jest tam napisane że MUSI być utf-8? Jest napisane że może być na przykład UTF-8. Sorry, ale ja jestem odpowiedzialny za to co napisałem ,a nie za to co ty rozumiesz.

konto usunięte

Temat: Polskie krzaczki różne przeglądarki

Robert P.:
... ja jestem odpowiedzialny za to co napisałem ,a nie za to co ty rozumiesz.

Ja nic innego nie twierdzę. Przynajmniej tu się zgadzamy.



Wyślij zaproszenie do