Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Kodowanie znaków
Forum PHP.pl > Forum > Przedszkole
sheerun
Dziękuję, że tu zajrzałeś. Mam następujący problem:

Mam skrypt md5.php, ktory przesyła formularzem metodą get do skryptu hash.php zmienną q, która oznacza tekst do zakodowania.
Jednak przy próbie zahashowania wyrazu, hashuje się wyraz np. "
  1. <?php
  2. jab#322;ko
  3. ?>
", a nie "
  1. <?php
  2. jabłko
  3. ?>
".
Jak sprawić, żeby po odczytaniu z $_GET zmienna miała swoją pierwotną postać?
Korzystam z kodowania utf-8.
Przepraszam, jeżeli to lamerskie pytanie rolleyes.gif
gebp
1. Zrezygnuj z przesyłania "GET" na rzecz "POST".

2. Co do poprawnego odczytywania przesyłanych danych.
Dobrze żebyś zapodał kod. Ale tak kombinując jeżeli masz dobrze ustawioną <meta> to podejrzewam iż sam plik nie jest zakodowany w utf-8. Sama deklaracja nie wystarczy. Plik też musi być w utf-8 zapisany.
sheerun
Ja nie odczytuję tych danych z pliku, tylko prosto z formularza, a w przypadku POST wychodzi to samo dry.gif

Swoją droga to błąd występuje nawet w przypadku przesyłania z formularza do skryptu na tej samej stronie.

Kod:

  1. <form enctype="text/plain" name="form1" action="md5.php" method="get" enctype="text/plain">
  2. <input type="text" name="q" size="50" /><br />
  3. <input type="submit" value="Hash me! :-)" />
  4. </form>


  1. <?php
  2. if ($_GET['q'] != '')
  3. {
  4. $q = $_GET['q'];
  5. echo "Hash dla <b>" . $q . "</b> :<br />";
  6. echo "<b>MD5:</b> " . md5($q) . "<br />";
  7. }
  8. ?>


Wynik w źródle:

  1. <?php
  2. Hashe dla <b>jab#322;ko</b> :<br /><b>MD5:</b> 872d0567dfe4ab62f81985b2c8a33ee4<br />
  3. ?>
gebp
Cytat
... Ale tak kombinując jeżeli masz dobrze ustawioną <meta> to podejrzewam i...

index.html
  1. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  2. </head>
  3. <form enctype="text/plain" name="form1" action="md5.php" method="get" enctype="text/plain">
  4. <input type="text" name="q" size="50" /><br />
  5. <input type="submit" value="Hash me! :-)" />
  6. </form>
  7. </html>

md5.php
  1. <?php
  2. header("Content-Type: text/html; charset=utf-8");
  3. if ($_GET['q'] != '')
  4. {
  5. $q = $_GET['q'];
  6. echo "Hash dla <b>" . $q . "</b> :<br />";
  7. echo "<b>MD5:</b> " . md5($q) . "<br />";
  8. }
  9. ?>
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.