Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]kodowanie txt i php
Forum PHP.pl > Forum > Przedszkole
piotr26
mam problem z kodowaniem.

Przeczesałem juz wiele stron ale nic nie znalazłem co by pasowało do mojego problemu.

napisałem skrypt w php wyszukiwareczka bardzo prosta która działa i wyszukuje na danych w pliku txt.

Lokalnie zainstalowany mam webserv 2.0 i tu wszystko działa ok, tz polskie znaczki wyswietlaja sie ok

ale w momencie przeniesienia plików na serwer zamiast polskich znaków idze krzeaczki.

Probowałem juz rózne kodowania od utf-8, iso ...2, iso ...1, windows ...

Probowałem równiez zapisywac plik txt w ANSI oraz utf-8.

FAktem jest ze te krzeczki czasem sie zmieniały czasem było ich mniej ale zawsze są

Prosze o pomoc.exclamation.gif!!
Spawnm
dajesz format kodowania pliku na utf-8 dodatkowo deklarujesz nagłówek w pliku na utf-8 i będzie wszystko ładnie.
piotr26
a mogłbys mi napisac jak to deklarowac ten nagłówek questionmark.gif
Spawnm
np w htmlu:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
piotr26
niestety ale nadal mam z tym problemy. Moze podam kod i wtdy bedzie jasniej ::

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  5. <title>Wyniki wyszukiwania</title>
  6. <link href="style.css" rel="stylesheet" type="text/css" />
  7. </head>
  8. <p style="padding-left:20px">Jeżeli poniżej widać tylko puste pole, to znaczy, że nie znaleziono wyników.</p>

  1. <?php
  2. $wyszukiwarka = $_POST['wyszukiwarka'];
  3. if($wyszukiwarka==""){
  4. $wyszukiwarka="xyz";}
  5. $dane = file("dane.txt");
  6.  
  7. echo "<p style=\"padding-left:20px\"><table class=\"tabelka\" cellpadding=\"1\" cellspacing=\"0\">";
  8. echo "<tr bgcolor=#cccccc>";
  9. echo "<td bgcolor=#cccccc width=100px>dane</td><td>OPIS</td>";
  10. echo "</tr>";
  11. for ($index=0; $index < count($dane); $index++)
  12. {
  13. $g = split(":", chop($dane[$index]));
  14. $count="0";
  15. if (eregi("$wyszukiwarka", $dane[$index])) {
  16. $count++;
  17. $pole++;
  18. if ($pole==1) { $kolor = "#ffffff"; }
  19. if ($pole==2) { $kolor = "#dddddd"; $pole=0; }
  20.  
  21. echo "<tr bgcolor=$kolor>";
  22. echo  "<td align=\"left\" style=\"width:300px\"><b><a href=\"mailto:$g[1]\">$g[1]</b></a></td><td align=\"left\"><b><i> $g[0]</i></b></td>";
  23.  
  24. }
  25. }
  26. echo "</tr></table></p>";
  27. ?>

  1. <hr>
  2. </br>
  3. <p style="padding-left:20px"><input type="button" value="wstecz" onClick="history.back()"></p>
  4. </body>
  5. </html>


kodowanie stronki zmieniałem juz na iso , utf-8, widdows i nic cos sie zmienia ale krzaczki cały czas wystepuja.

Chodzi mi głównie o krzaczki w pliku txt w którym znajduja sie dane do przeszukiwania i wyswietlania których kodowanie równiez zmieniałem,
plik dane.txt równiez zapisywałem w róznym kodowaniu poczawszy od utf-8 i ANSI i dalej krzaczki.

plik jest zapisywany przez excela 2007 jako txt oddzielany tabulatorami.

dodam jeszzce, ze kodowanie strtonki zmieniam w dreamweaver akodowanie pliku txt w notaniku przy zapisywaniui.

prosze o pomoc....
carck3r
Ściągnij jakiś polski edytor tekstowy (notepad++) i przez niego wszystko zapisz.
Spawnm
najpierw niech zacznie czytać posty w temacie.

pisałem abyś dał:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />

questionmark.gif
chyba nie.

dodatkowo temat był wiele razy jeśli nadal nie wiesz , to poszukaj na forum .
piotr26
wiec sciagnałem sobie tego notepada ustawiłem kodowanie na utf-8 i oczywiscie zmienilem format na UNIX w ustawieniach poniewaz server jest linuxowy na który zgrywam pliki.

Po chwili eurek udało sie w IE działa , ale hola hola sprawdzam w FireFoxie kiszka krzaki tak piekne ze poezja ....

juz nie mam nerwów do tego .

w plikach poustawiałem meta na utf-8 i w notatniku zapisałem pliki z kodowaniem utf-8.


dlaczego tak sie dzieje . nie rozumie tego... w zyciu nie mialem takich głupich problemów

Napisałem ze ustawiałem rozne kodowania w meta, windows-1250 zostawiłem poniewaz proboje wszystkiego i to było ostatnie kodowanie jakie ustawilem.

teraz sytuacja wyglada tak, ze mam ustawio w meta utf-8, do tego otworzyłem plik w notepadzie przekonwertowałem na utf-8 zapisałem zgrałem na server i przegladarka firefox dowyslnie ustawia sie na kodowanie iso dopiero jak przełacze w przegladarcze w widoku kodowanie na utf8 jest ok.

czy wiecie dlaczego tak sie dzieje

IE wyswietla ok !


z góry dziekuje za wczesniejsze zainteresowanie tematem!!
zegarek84
plik w tym notepad++ koduj w UTF-8 (bez BOM)

w pliku php jako pierwszą linijkę wpisz (nic nie może być przed ani jednego znaku dlatego kodowanie bez BOM):
  1. <?php header("Content-type: text/html; charset=utf-8")?>

dodatkowo w html'u tak jak radzili meta deklarujesz:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

dodatkowo w CSS pierwszą linijkę możesz zadeklarować:
Kod
@charset "utf-8";

jeśli jeszcze korzystasz z .htaccess to tam możesz zadeklarować:
Kod
AddDefaultCharset UTF-8


jeśli dane pobierasz z jakiejkolwiek bazy danych (pliki to też jakaś baza danych ;p) to i w bazie danych musisz mieć kodowanie na utf-8 winksmiley.jpg
piotr26
o i to jest odpowiedz guitar.gif guitar.gif

dzieki kolego pomogłes wyczerpujaca smile.gifsmile.gif

i notepad tez jest swietny to do drugiego kolegi
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.