Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Polskie znaki w pliku php, dodalem deklaracje polskich znakow i nic z tego
uczaj21
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 30.06.2007

Ostrzeżenie: (20%)
X----


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>
Go to the top of the page
+Quote Post
ziqzaq
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


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.

Ten post edytował ziqzaq 15.12.2008, 14:01:25
Go to the top of the page
+Quote Post
tikky
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

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


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.
Go to the top of the page
+Quote Post
uczaj21
post
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 30.06.2007

Ostrzeżenie: (20%)
X----


Notepad++ nic nie pomogl
Go to the top of the page
+Quote Post
ziqzaq
post
Post #5





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


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ć.
Go to the top of the page
+Quote Post
tikky
post
Post #6





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

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


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.
Go to the top of the page
+Quote Post
JoShiMa
post
Post #7





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Ż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ć.

Ten post edytował JoShiMa 16.12.2008, 11:39:26
Go to the top of the page
+Quote Post
uczaj21
post
Post #8





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 30.06.2007

Ostrzeżenie: (20%)
X----


a jak sprawdzic jakie jest domyslne kodowanie w konfiguracji Apache?
skrypt pobiera text z pliku txt
Go to the top of the page
+Quote Post
ziqzaq
post
Post #9





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


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).
Go to the top of the page
+Quote Post
JoShiMa
post
Post #10





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 19:56