Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z utf-8, "Cannot modify header information ..."
wojto
post 27.08.2005, 13:51:30
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z ustawieniem kodowania plikow na utf-8.
Zawartosc plikow wyglada nastepujaco:

index.php
  1. <?php
  2. require_once('header.php');
  3. ?>
  4.  
  5. próba znaków<br />
  6. ąćęłńóśżź<br />
  7. ĄĆŁŃÓŚŻŹ


header.php
  1. <?php
  2. if (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) {
  3. exit('Nie możesz otworzyć tego pliku bezpośrednio !');
  4. }
  5.  
  6. require_once('config.php');
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  10. <head>
  11. <meta http-equiv="Content-Language" content="pl" />
  12. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  13. <title>tytuł</title>
  14. </head>
  15.  
  16. <body>


config.php
  1. <?php
  2.  
  3. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  4. header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
  5. header("Cache-Control: no-store, no-cache, must-revalidate");
  6. header("Cache-Control: private, pre-check=0, post-check=0, max-age=0", false);
  7. header("Pragma: no-cache");
  8.  
  9. if (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) {
  10. exit('Nie możesz otworzyć tego pliku bezpośrednio !');
  11. }
  12. ?>


jak widac ustawione jest kodowanie na utf-8, pliki takze sa zakodowane programem w utf-8

po uruchomieniu wyswietla poprawnie polskie znaki, jednak wyswietla tez jakies bledy:
Kod
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\tmp\index.php:1) in c:\usr\apache\httpd\html\tmp\config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\tmp\index.php:1) in c:\usr\apache\httpd\html\tmp\config.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\tmp\index.php:1) in c:\usr\apache\httpd\html\tmp\config.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\tmp\index.php:1) in c:\usr\apache\httpd\html\tmp\config.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\tmp\index.php:1) in c:\usr\apache\httpd\html\tmp\config.php on line 8
próba znaków
ąćęłńóśżź
ĄĆŁŃÓŚŻŹ


co nalezy zmienic, aby tego nie bylo?

pozdrawiam i dziekuje za odpowiedzi


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
hwao
post 27.08.2005, 13:53:01
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




daj w index.php
  1. <?php
  2. ?>

a nie tam potem,

Pozatym jak edytujesz edytorem nie miejacym wsparcia utl (notanik) to dodaje on "krzaki" na poczatku.
Go to the top of the page
+Quote Post
strife
post 27.08.2005, 13:53:13
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


http://php.pl/artykuly/dla_poczatkujacych/...ch_programistow

na samym dole.. winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
wojto
post 27.08.2005, 14:02:56
Post #4





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@hwao, jak dam ob_start(); na poczatku index.php, to dalej sa te same bledy (poza tym jesli includuje te pliki, to tak jakby ob_start() u mnie bylo na poczatku pliku, z iso-8859-2 tak dzialalo)
wiem, ze czasami krzaki sa dodawane na poczatku pliku, ale moj edytor wspiera utf-8

doszedlem do tego, ze po usunieciu tych linijek:
Kod
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: private, pre-check=0, post-check=0, max-age=0", false);
header("Pragma: no-cache");
nie wyswietla juz tych bledow

czy jest mozliwe, ze przy utf-8 nie mozna ich stosowac?

ps. @scarface: jakbys nie zauwazyl, to u mnie ob_start() jest smile.gif


// edit: moze ktos stworzyc takie 3 pliki i sprawdzic, czy u niego dziala, bo moze moj edytor zle obsluguje utf-8?


// eidt2:
ok, wstawilem wszystko do jednego pliku:
  1. <?php
  2.  
  3. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  4. header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
  5. header("Cache-Control: no-store, no-cache, must-revalidate");
  6. header("Cache-Control: private, pre-check=0, post-check=0, max-age=0", false);
  7. header("Pragma: no-cache");
  8. ?>
  9.  
  10. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  11. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  12. <head>
  13. <meta http-equiv="Content-Language" content="pl" />
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  15. <title>tytuł</title>
  16. </head>
  17.  
  18. <body>
  19.  
  20. próba znaków<br />
  21. ąćęłńóśżź<br />
  22. ĄĆŁŃÓŚŻŹ
  23.  
  24. </body>
  25. </html>
  26.  
  27. <?php
  28. ?>
i dalej wyswietla to samo :/ wtf?

Ten post edytował wojto 27.08.2005, 14:16:34


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 27.08.2005, 14:09:04
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Chyba chodzi o BOM (Byte Order Mark) w Unicode, 3 bajty (chyba 3?questionmark.gif)dodawane przez edytory na poczatku pliku. Sproboj innego edytora Notepad2, SciTE (oba na scintilli), bo chyb nie pracujes pod linuxem.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
wojto
post 27.08.2005, 14:11:39
Post #6





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@dr_bonzo: wlasnie uzywam notepad2 :/

moze ktos sprawdzic u siebie ten ostatni kod i napisac, czy u niego dziala?

//edit: dzieki scarface, rzeczywiscie w pspadzie jest ok
tak wiec moj ulubiony notepad2 zle obsluguje utf-8 sad.gif

sorki za zamieszanie

Ten post edytował wojto 27.08.2005, 14:23:40


--------------------
Go to the top of the page
+Quote Post
strife
post 27.08.2005, 14:14:51
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(wojto @ 2005-08-27 15:11:39)
@dr_bonzo: wlasnie uzywam notepad2 :/

moze ktos sprawdzic u siebie ten ostatni kod i napisac, czy u niego dziala?

U mnie pięknie śmiga - program PsPad...

@wojto - powiem Ci że teraz nie wyobrażam sobie pracy bez tego programu, polecam...

Ten post edytował scarface 27.08.2005, 19:21:37


--------------------
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: 19.07.2025 - 10:20