w głównym katalogu strony mam plik "index.php" z którego odnośniki prowadzą do folderów podstron za pomocą:
Dzięki temu w okienku adresu strony w przeglądarce nie widać rozszerzeń .php, tylko nazwy katalogów.
Index.php oraz każda podstrona.php składa się się ze złożonych modułów (np. header, footer, menu itd. ) wywoływanych komendą:
<?php require("../modules/nazwa modułu.php"); ?>
Dzięki temu, kiedy będę musiał coś zmienić, edytuję tylko dany moduł a nie kod w każdej z podstron.
Problem pojawia się na kodowaniu polskich znaków. Próbowałem już chyba wszyskiego: pliki zapisane w formacie utf-8 bez BOM, kodowania w meta na utf-8 lub windows-1250, ale nic nie skutkuje.
Kiedy ustawiam kodowanie w meta na utf-8 moduły wczytywane komendą: "include" zamiast polskich znaków zawierają pytajniki a kod pisany bezpośrednio w podstronie wyświetla się poprawnie. Kiedy ustawię kodowanie na windows-1250 jest na odwrót. Moduły wczytywane za pomocą "include" wczytują się z polskimi znakami a treść podstrony już nie.
Czy jest na to jakiś sposób, czy powinienem treść podstron wczytywać też jako oddzielny moduł? Dla przykładu strona "kontakt.php" wyświetla polskie znaki w ten sposób.
moduł header.php:
<meta http-equiv="Content-Type" content="text/html;charset=windows-1250"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="title" content="Oeconomus" /> <meta name="description" content="Oeconomus - kredyty, szkolenia i finanse" /> <title>Oeconomus</title> <link rel="shortcut icon" href="../images/favicon.ico"> <link href="../css/style.css" rel="stylesheet" type="text/css" /> <link href="../css/slide.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="../js/jquery-1.10.1.js"></script> <script type="text/javascript" src="../js/easySlider1.7.js"></script>
podstrona kontakt.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <?php require("../modules/header.php"); ?> </head> <body> <?php require("../modules/top_main.php"); ?> <div class="main_frame2"> polskie znaki: ąęćóżźś </div> <?php require("../modules/menu_bottom.php"); ?> <?php require("../modules/footer.php"); ?> </body> </html>