Zeelof
10.11.2008, 15:39:20
Co muszę zrobić aby na mojej witrynie były widoczne polskie znaki i znak ©?
Po użyciu tego:
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
</head>
Nadal nie działa poprawnie ponieważ nie widzę np litery "ś" będź "©".
ś = �
© = Š
Jak zrobić by było tak jak powinno?
ayeo
10.11.2008, 15:41:07
Witaj!
Temat był poruszany milion (słownie: milion) razy! Skorzystaj z wyszukiwarki zanim napiszesz nowy temat. Plik masz zapisany jako UTF-8, a w meta masz ustawione ISO-8859-2.
Pozdrawiam!
piotrooo89
10.11.2008, 15:43:05
jak zakodowałeś plik ze stroną? w iso?
Zeelof
10.11.2008, 15:45:00
Cytat(piotrooo89 @ 10.11.2008, 15:43:05 )

jak zakodowałeś plik ze stroną? w iso?
Tak ale kodem html a to nic nie daje
piotrooo89
10.11.2008, 15:48:23
nie pytam w czym pisałeś stronę bo tu nie masz dużych możliwości pytam jakiego zestawu znaków kodujących użyłeś kodując plik z ową stroną czy jest to iso, utf, ANSI ?
ayeo
10.11.2008, 15:48:34
W meta dajesz ISO, ale plik masz w UTF-8! Zmień kodowanie pliku! Przeglądarka bierze go za ISO-8859-2 (bo tak podałeś w meta), ale to jest UTF-8! Patrz wyżej!
Pozdrawiam!
nexis
10.11.2008, 15:55:01
W PSPad robisz to przykładowo tak:
Zeelof
10.11.2008, 15:59:53
Po tej zmianie jest dokładnie to samo. Jednak jak zmienie na UTF-8 znak © już działa jednak przestaje działać "ć" znalazłem jeszcze coś takiego:
http://forum.dobreprogramy.pl/%5C/viewtopi...18&t=115107 jednak nie chce co linijka kodu wstawiać grubej ilości innego kodu.
lukaszgolder
10.11.2008, 16:07:20
Po tym jak zmienisz, spróbuj na nowo napisać polskie znaki.
Zeelof
10.11.2008, 16:12:47
Już działa dałem to:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="pl">
</head>
</html>
ayeo
10.11.2008, 16:21:00
Nie jest to dobry pomysł z tym windows-1250

Zapisz plik z kodowaniem utf8 i takie samo ustaw w pliku html w znacznikach meta. Teraz to Ci się tylko wydaje, że działa

Pozdrawiam!
PS Jak wklejasz kod to ZAWSZE używaj znaczników BBcode!
Zeelof
10.11.2008, 16:28:53
To w takim razie jak to ustawić by działało poprawnie? Jak powinien wyglądać przykładowy kod?
Skoro u mnie wygląde to tak:
Kod
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="pl">
</head>
</html>
<?php
echo ('Š TREŚĆ');
?>
i wszystko działa wg mnie poprawnie i mam to zapisane jako ANSI to co wg ciebie powinno być inaczej?
Chyba ze podpowiesz jak zrobić by wszystko było kodowane jako ISO 8859-2 a jedno miejsce jako UTF-8
ayeo
10.11.2008, 16:40:50
Witaj!
Wydaje mi się, że nie do końca rozumiesz. Mieszają Ci się pojęcia. Zapomnij na chwilkę o html'u. Nie ważne co masz w tym pliku, ważne w jakim kodowaniu ten plik zapisujesz! Poszukaj w opcjach swojego edytora, na pewno jest funkcja zmiany kodowania. Jak zmienisz kodowanie w swoim edytorze to sam zobaczysz co było nie ze stronką i dlaczego.
Pozdrawiam!
Zeelof
10.11.2008, 16:42:36
Kodowanie zmieniam cały czas i nadal nie chce to zadziałać jak powinno. Używam PSPad'a.
Może inaczej... Po zmianie kodowania dostaje polskie litery ale nie ma Š i teraz o ten znak mi chodzi ;P
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
hymmm nie wiem jak to sie stało ale pobawiłem sie tym troche i zadziałało

dzięki za pomoc
ayeo
10.11.2008, 16:50:34
Witam

1. Stwórz sobie nowy plik: nowy.html
2. Kodowanie ustaw na utf8
3. W znacznikach meta zestaw znaków określ jako utf8
4. Napisz sobie coś w stylu (w tym pliku) ąęćźżśłńó
5. Zapisz plik
6. Otwórz w przeglądarce
7. Napisz wynik tutaj

Uwaga: kolejność jest ważna!
Pozdrawiam!
Zeelof
10.11.2008, 16:58:48
Stało sie to czego sie spodziewałem czyli znaki ąęćźżśłńó sie wypisały ale w pliku PHP to nie chce działać (działało chwile i juz nie działa)
Sławo
11.11.2008, 17:57:54
U mnie po wykonaniu czynności z postu powyżej ukazał się taki oto tekst:
��柿����
Już pomału szału dostaję z tym ... kodowaniem.
Szunaj85
11.11.2008, 19:33:40
Musisz się zastanowić jakiego kodowania chcesz użyć. Zarówno UTF-8 jak i ISO-8859-2 jest dobre z tą różnicą że:
- kodowanie UTF-8 jest częściej używanym standardem przez programistów, ale będziesz musiał napisać sobie specjalny skrypt, który pozamienia ci krzaczki na polskie litery i w poprawny sposób je wyświetli.
- kodowanie ISO-8859-2 jest rzadziej używanym standardem przez programistów, ale za to nie będą powstawały ci krzaczki. Dokładniej jak napiszesz konkretną polską literę taka ci się wyświetli.
Widzę, że dopiero zaczynasz zabawę z programowaniem, więc proponuję Ci ISO-8859-2. Jeśli natomiast chodzi o znaczek "copyright" to po wpisaniu takiego kodu
& # 1 6 9 - tylko bez spacji (kod ASCII) wyświetli się on na stronie.

A jak obsługiwać się PSPad-em (jeśli chodzi o kodowanie) kolega ayeo napisał wcześniej.
Sławo
11.11.2008, 19:48:13
A dlaczego jak się umieści w kodzie:
<META http-equiv="Content-Type" content="text/html; charset=windows-1250" />
to strona wyświetla się poprawnie i wszystko jest OK??
A z
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
są same problemy??
Kildyt
11.11.2008, 20:39:57
To, że coś dobrze wygląda, to nie oznacza od razu, że jest dobrym rozwiązaniem.
Jak napisał już ayeo nalezy zdefiniować kodowanie w pliku html i zakodować plik z takim samym kodowaniem co w html. Sprawdź także, czy twój serwer wspiera UTF-8.
Czy źle pamiętam, czy kodowanie windows-1250 nie działa na linuksie? Kiedyś coś takiego przeczytałem, ale nie jestem pewien.
piotrooo89
11.11.2008, 20:52:02
kurcze pewnie Ci już pisali ale powtórzę.
1. robisz nowy plik nie w notatniku windy tylko w jakimś programie który obsługuje zmiane kodowania (polecam Notepad++)
2. ustawiasz
kodowanie pliku na utf-8
3. ustawiasz
kodowanie jakie będzie rozpoznawanie przez przeglądarkę (meta tag czyli:
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />)
i teraz bardzo ważne jak zmieniasz kodowanie już istniejącego pliku to w tym pliku już będzie Ci się krzaczyć i pomimo że masz ustawione kodowanie w pliku i dla html'a musisz poprawić wszystkie znaki (możesz również skorzystać z programu gżegżółka).
Sławo
11.11.2008, 21:05:28
Ad 1. Wszystkie projekty piszę w Notepad++,
Ad 2. ustawione,
Ad 3. ustawione,
przy zapisaniu nowego pliku dzieje się to samo. Sprawdzałem na przeglądarkach Firefox 3.0.3 oraz IE 7.0.
aha jeszcze jedno nie mam zamiaru korzystać z dodatkowych programów "ma działać i już".
piotrooo89
11.11.2008, 21:09:30
a powiedz jeszcze co się dzieje krzaczy się? sprawdzałeś czy w pliku źródłowym są krzaki?
Sławo
11.11.2008, 21:17:34
Kod źródłowy pliku:
Strona testowa
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
piotrooo89
11.11.2008, 21:20:57
a powiedz jakie masz kodoawanie jak klikniesz w fx widok -> zestaw znaków? musi być utf.
Sławo
11.11.2008, 22:05:01
Jest UTF ustawione.
piotrooo89
11.11.2008, 22:11:54
właśnie sobie to wklepałem do siebie i wszystko hula... straciłem pomysły...
bim2
11.11.2008, 22:20:16
Serwer wysyla nagłowek z iso pewnie. Daj header('Content-Type: text/html; charset=utf-8);
Sławo
11.11.2008, 22:35:23
Wstawiłem do kodu pliku nagłówkowego:
<?php
header("Content-Type: " . "text/html; charset=utf-8"); ?>
oraz poniżej dodałem:
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
i nadal nie wyświetla poprawnych znaków.
Dodatkowe informacje MySQL localhost:
System porównań dla połączenia MySQL: utf8_polish_ci
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
bim2
12.11.2008, 13:59:01
mysql_query('SET CHARSET utf8');
to nakazuje utrzymywac połączenie w utf-8
Sławo
12.11.2008, 19:17:53
A co z tym header (nagłówkiem)

?
Bo już się gubię a stronka nadal się krzaczy.
pinochet
12.11.2008, 22:13:12
Co to znaczy że strona się krzaczy? może link albo chociaż print screen?
Jeśli używasz Notepad++ to musisz wybrać Format->UTF-8(bez BOM)
jeszcze raz notepad++:
ctrl+a ctr+x alt+f kodowanie UTF-8(bez BOM) ctrl+v ctrl+s :]
jest jeszcze możliwość że w ustawieniach apache masz domyślny charset na ISO albo inny różny od UTF jednym słowem:
zmień domyślny charset w confiku apache
zmień domyślny charset w PHP lub wyslij nagłówek
zmień plik na kodowanie w UTF-8 bez BOM
zmień meta-tag na kodowanie w UTF-8
i nie mów że nie działa :] bo tak juz prawie cały internet działa
Sławo
12.11.2008, 23:24:19
Strona przed zastosowaniem porady:

i po zastosowaniu porady:

widać różnicę

Po zastosowaniu się do porady nr 1 wszystko wyświetla prawidłowo.
A co do tej drugiej porady to nie sprawdzałem ale pewnie wynik będzie taki sam.
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.