Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Kodowanie znaków
sheerun
post 20.05.2007, 17:15:58
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.05.2007

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


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
Go to the top of the page
+Quote Post
gebp
post 20.05.2007, 17:26:00
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


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.
Go to the top of the page
+Quote Post
sheerun
post 20.05.2007, 17:32:37
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.05.2007

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


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. ?>


Ten post edytował sh33run 20.05.2007, 18:12:42
Go to the top of the page
+Quote Post
gebp
post 21.05.2007, 16:35:14
Post #4





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


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

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 09:49