login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Duitse letters (Opgelost)

Offline Ultimatum - 22/06/2009 10:07 (laatste wijziging 22/06/2009 10:08)
Avatar van UltimatumPHP expert Ey, ik heb problemen met duitse letters i.c.m. een formulier. Ik heb op php.net dit gevonden, http://nl3.php....-table.php

Als ik het op deze manier doe, werkt het dus goed.
  1. <?php
  2. $trans = get_html_translation_table (HTML_ENTITIES);
  3. $str = "Hallö & <Frau> & Kr&auml;mer";
  4. $encoded = strtr($str, $trans);
  5.  
  6. $_SESSION['text'] = $encoded;
  7. ?>


In de source staan dan ook dit:
Citaat:
Hall&ouml; &amp; &lt;Frau&gt; &amp; Kr&amp;auml;mer


Maar als ik nu de variable $str vervang door bijvoorbeeld $_POST['aText'] en ik zet in de textarea dezelfde string als in de variable $str plaats dan krijg ik dit in de source te zien
Citaat:
Hall


Ik heb al htmlentities, specialchars, utf8_encode geprobeerd zonder success. De site zelf gebruikt ook charset utf8 en dit staat ook in het formulier: accept-charset="utf-8". Heb het ook al zonder de accept-charset in formulier geprobeerd.

Iemand een idee waarom een variable wel goed gaat maar een $_POST value niet?

3 antwoorden

Gesponsorde links
Offline Koen - 22/06/2009 10:58
Avatar van Koen PHP expert Ik begrijp niet goed waarom je er zo moeilijk over doet, gebruik gewoon htmlentities:

  1. <html>
  2. <?php
  3. if($_SERVER['REQUEST_METHOD'] == 'POST')
  4. {
  5. echo htmlentities($_POST['text']);
  6. }
  7. ?>
  8. <form method="post">
  9. <textarea name="text"></textarea>
  10. <input type="submit" />
  11. </form>
  12. </html>


Geeft mij:
  1. Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer<form method="post">
  2. <textarea name="text"></textarea>
  3. <input type="submit" />
  4. </form>
  5. </html>
Offline MiST - 22/06/2009 11:03
Avatar van MiST Lid je kan ook in de meta van he html de weergave op latin-1 zetten, ipv utf-8, maar dat wordt zeer weinig toegepast. Zal bad practise zijn 
Offline Ultimatum - 22/06/2009 11:04 (laatste wijziging 22/06/2009 11:22)
Avatar van Ultimatum PHP expert Omdat htmlentities het bij mij niet deed. Maar ik ben er net wel achter dat het probleem bij javascript ligt. Ik krijg namelijk dit terug van javascript: Hall&ouml; &amp; &lt;Frau&gt; &amp; Kr&amp;auml;mer. En dan gaat hij stuk op de eerste &. Want heb ik dit in javascript:
  1. pars += 'tPrice=' + plainprice + '&';
  2. pars += 'cPrice=' + plaincaps + '&';
  3. pars += 'aText=' + plaincontent;

Dus dan word dat stuk ook als part gezien en daarom doet hij het niet goed.

Maar weet niet hoe ik dit moet oplossen, serializes van de output werkt namelijk ook niet.

ik heb het al opgelost met de escape functie van javascript
  1. escape(plaincontent);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s