zerdo
10.01.2008, 15:13:02
Witam
OD jakiegoś czasu męczę się żeby ustawić polskie znaki w PHP i nie mogę. Jak ma wyglądać kod żeby wszystkie polskie litery działały
Kod
<html>
<HEAD>
<meta http-equiv="content-type" content="text/html charset=ISO-8859-2">
</head>
<body>
<?PHP
print "ęóąśłżźćń";
?>
</BODY></HTML>
Grzyw
10.01.2008, 15:16:56
Podejrzewam, że Twój edytor ma ustawione inne kodowanie.
W czym piszesz?
sniezny_wilk
10.01.2008, 15:22:22
Grzyw może mieć rację.. używając np. Eclipse lub Notepad++ można łatwo zmienić kodowanie zapisywanego dokumentu. Musisz zmienić je najlepiej na UTF-8, lub w html'u zamiast: ISO-8859-2 wstaw UTF-8.. btw: jakiego używasz edytora ?
zerdo
10.01.2008, 17:28:08
Używam PHP Designer 2007. Zmieniałem w notatniku na UTF-8 i na stronce kodowanie na UTF-8 ale też nie działa.
W PHP Des. mogę jedynie ustawić: ANSI, UTF-8, UTF-16LE, UTF-16BE albo jest jeszcze pocja save with BOM
A w przeglądarce widać "�ż�ćńłęó"
adriano321
10.01.2008, 20:07:31
W PHP Designer 2007 masz opcje kodowania. Nie pamiętam dokładnie gdzie jak chcesz to poszukaj. Mi to pomogło.
Maxik
10.01.2008, 20:55:11
Sprawdź coś takiego:
<?php
?>
Coś nie wychodzi wstawienie tego, więc w tym drugim pododawaj przed każdym drugim parametrem ampersand(&) i styknie.
zerdo
10.01.2008, 23:44:28
Ok zmieniłęm kodowanie i teoretycznie pomoglo - literki polskie dzialaja! Zmienilem na UTF-8!
Tylko teraz nagle pojawil sie problem z sesją! Wyskakuje mi że
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\index.php:1) in c:\program files\easyphp1-8\www\index.php on line 3
A jak dam znow inne kodowanie to jest dobrze. Pliki są identyczne i różnią sie tylko kodowaniem! Co można z tym zrobić??
Maxik
11.01.2008, 13:51:58
daj session_start(); przed całą stroną, czyli:
Kod
<?php session_start(); ?>
<html>
<HEAD>
<meta http-equiv="content-type" content="text/html charset=ISO-8859-2">
</head>
<body>
<?PHP
print "ęóąśłżźćń";
?>
</BODY></HTML>
sniezny_wilk
11.01.2008, 14:16:35
@maxik: niekoniecznie.
Jeśli zmieniłeś kodowanie, na początku pliku powstały "krzaczki", których nie widać, ale tam są.. kiedyś z tym walczyłem pamiętam i pomogła opcja "save with BOM", spróbuj.
zerdo
21.01.2008, 00:44:04
No jak dam kodowanie na UTF-8 w przeglądarce to działa wszystko ładnie! tylko jak dam w kodzie
Kod
<META http-equiv=content-type content="text/html; charset=utf-8">
to wtedy nie ustawia automatycznie przegladarki na UTF-8. Jak to można rozwiązać?
potreb
21.01.2008, 01:15:48
Kod
<meta http-equiv="content-type" content="text/html; charset=utf-8">
zerdo
21.01.2008, 02:29:17
Ale to nic nie zmienia. Dalej jak sprawdzam kodowanie mam ustawione na ISO zamiast na UTF-8. I dalej żle wyświetla bez zmienienia kodowania ręcznie na stronce.
Kicok
21.01.2008, 10:43:24
1. Porównaj jeszcze raz twój kod, z tym co podał
potreb. Może faktycznie ten cudzysłów ci wszystko psuje.
2. Jesli to nic nie da to przed wysłaniem do przeglądarki jakiejkolwiek treści wyślij jeszcze taki nagłówek:
<?php
header( 'Content-Type: text/html; charset=utf-8' );
?>
potreb
21.01.2008, 10:46:33
Albo masz zdefiniowany wczesniej meta gdzies dla iso
zerdo
25.01.2008, 22:08:28
W samym html i PHP jest już ok- tylko jak pobieram dane z bazy to wtedy mam kwadraciki zamiast polskich liter! Mam ustawione kodowanie na UTF-8 i w mysql i w php. Jak to rozwiązać??
I dodatkowo żle zapisuje do bazy mysql dane wprowadzane w PHP. Wychodzą w bazie jakieś krzaczki!
Wogóle jak wyswietlam strone to tak jakby dane z mysql byly kodowane w srodkowoeuropejskim a dane z html i php w UTF-8.
Dziwne to jest dla mnie bo w mysql mam ustawione ze UTF-8
potreb
25.01.2008, 22:52:24
Wstaw do połączenia z bazą:
mysql_query("SET NAMES utf8");
np:
<?php
?>
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.