Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie znaki w pliku php
Forum PHP.pl > Forum > PHP
uczaj21
Witam mam dziwny problem z kodowaniem polskich znakow.Najgorsze w tym ze deklaruje polskie znaki w meta.Jest to skrypcik losowych cytatow z pliku txt.Na przegladarce nie wyswietlaja mi sie polskie zanki albo wyswietlaja sie niektore polskie na ż a ą juz nie itp.Prosze o pomoc Zamieszczam kod ponizej dodam iz plik ma format php a nie html

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  4. <meta http-equiv="Pragma" content="no-cache" />
  5. <meta name="Author" content="Łukasz Stolarski" />
  6. <meta name="Authoring_tool" content="PHP Webpage Editor" />
  7.  
  8. </head>
  9. <?
  10.  // Quick random quote
  11.  // This script reads a quote file (flat text file), and picks one of the loaded
  12.  // quotes at random and displays it.
  13.  // Line breaks and formatting can be put into the quotefile as HTML tags
  14.  // Place the quotes.txt on your site, edit the $quotefile variable below,
  15.  // And copy and paste this code into your PHP page.
  16.  
  17.  // $delim tells this script what delimits the quotes (default is a CR/LF)
  18.  $delim = "\n";
  19.  
  20.  // $wuotefile points to the file that holds the actual quotes
  21.  $quotefile = "quotes.txt";
  22.  
  23.  $fp = fopen($quotefile, "r");
  24.  $contents = fread($fp, filesize($quotefile));
  25.  $quote_arr = explode($delim,$contents);
  26.  fclose($fp);
  27.  srand((double)microtime()*1000000);
  28.  $quote_index = (rand(1, sizeof($quote_arr)) - 1);
  29.  $herequote = $quote_arr[$quote_index];
  30.  echo $herequote;
  31. ?>
  32. </html>
ziqzaq
Na szybko.
Sprawdź w swoim edytorze jakie kodowanie mają wyżej wymienione pliki.
W html deklarujesz kodowanie strony w iso-8859-2. Zgaduję, że pliki z których korzystasz muszą mieć to zadeklarowane kodowanie.
Tip do Eclipse PDT. Klikasz prawym przyciskiem myszy na pliku -> Właściwości i tam jest kodowanie np. utf-8. Jak używasz innego środowiska/edytora to poszukaj kodowania.
tikky
Miałem taki sam przypadek używając starej wersji Pajączka. Teraz używam Notepad++ gdzie w menu mozesz ustawić kodowanie i jest ok. Polecam ten soft, przy okazji fajnie koloruje składnie.
uczaj21
Notepad++ nic nie pomogl
ziqzaq
Cytat(uczaj21 @ 16.12.2008, 10:23:08 ) *
Notepad++ nic nie pomogl

Co nie pomogło?
Instalacja notepada++?
Zmiana kodowania?
Sprawdziłeś kodowanie?
Co zrobiłeś, jakie są efekty?
Trzeba było zadawać te wszystkie pytania czy można było od razu dać jakieś wskazówki?

PS Jak zmieniasz kodowanie w pliku to znaki w tym pliku się prawdopodobnie wykrzaczą, trzeba je poprawić.
tikky
Coś chyba robisz źle.

Spróbuj otworzyć dokument w Notepad++, przejdź do menu 'Format' i wybierz 'Convert to UTF-8'

Później posprawdzaj w dokumencie czy widzisz polskie litery.

Sprawdź także czy na początku dokumentu nie masz jakichś dziwnych "krzaków" dodanch przez inny edytor, jak tak to wywal.
JoShiMa
Żeby znaleźć przyczynę trzeba sobie odpowiedzieć na kilka pytań:
1. Skąd pochodzi ten tekst, który nie zawiera polskich znaków?
2. W jakim standardzie kodowania jest zapisany?
3. Jakie jest domyślne kodowanie ustawione w konfiguracji Apache?

Dopiero jak będziesz znał odpowiedzi na te wszystkie pytania uda CI się cokolwiek ustalić.
uczaj21
a jak sprawdzic jakie jest domyslne kodowanie w konfiguracji Apache?
skrypt pobiera text z pliku txt
ziqzaq
Google "apache kodowanie znaków".
Tip. Musisz poszukać w pliku konfiguracyjnym Apache odpowiedniego ustawienia (chyba DefaultCharset czy coś w tym stylu).
_Nadal_ nie podałeś w jakich kodowaniach są te twoje dwa pliki (.php i .txt).
JoShiMa
Cytat(uczaj21 @ 16.12.2008, 16:18:38 ) *
a jak sprawdzic jakie jest domyslne kodowanie w konfiguracji Apache?

apache\conf\extra\httpd-languages.conf
AddDefaultCharset ISO-8859-2

Jak nie masz dostępu to na wszelki wypadek wymuś nagłówek:
  1. <?php
  2. header("Content-Type: text/html; charset=ISO-8859-2");
  3. ?>


Ale to dopiero jak wykluczysz inne rzeczy

Cytat(uczaj21 @ 16.12.2008, 16:18:38 ) *
skrypt pobiera text z pliku txt

A w tym pliku txt polskie znaki są w jakim standardzie?

Jak nie wiesz to ściągnij sobie Gżegżółkę (przyda się nie raz) i sprawdź a w razie potrzeby skonwertuj plik do ISO-8859-2
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.