[php] htmlentities en het euroteken

Pagina: 1
Acties:
  • 658 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Topicstarter
Ik mag character sets niet en zij mogen mij niet. Maar ik moet er wel mee werken, dus tja. Mijn pagina's zijn iso-8859-15 en PHP kan via tekstvelden het euroteken binnenkrijgen. Als deze tekst met euroteken moet worden getoond, haal ik er standaard een htmlentities($tekst) overheen zodat speciale entities goed worden weergegeven, ongeacht browser/character set. Nu wil PHP het euroteken pas naar € omzetten zodra ik expliciet in de derde parameter aangeef dat ik iso-8859-15 gebruik, maar is er geen manier om dat global in te stellen voor mijn script? Ik heb geen rechten om php.ini aan te passen, maar ik heb ook geen zin om alle aanroepen van htmlentities af te lopen en te bepalen of ie wel of niet die derde parameter moet krijgen.

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:34

TheDane

1.618

Is ini_set() niet de functie die je wil gebruiken?

Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Topicstarter
Het toevoegen van:
PHP:
1
ini_set('default_charset', 'iso-8859-15');

Gaat weliswaar prima maar heeft geen effect op de werking van htmlentities() voor zover ik kan zien.

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:34

TheDane

1.618

Hm, inderdaad, dit gaat alleen over de charset in de output.

Kun je dan de input uit die tekstvelden niet parsen, en direct naar "& euro ;" converteren?

[ Voor 3% gewijzigd door TheDane op 19-07-2005 11:31 ]


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Topicstarter
TheDane schreef op dinsdag 19 juli 2005 @ 11:30:
Kun je dan de input uit die tekstvelden niet parsen, en direct naar "& euro ;" converteren?
Ik ben het nu alleen tegengekomen bij het euroteken, wat nu als m'n klant straks ontdekt dat er nog meer tekens verkeerd werken? Of is het bekend dat bij iso-8859-15 alleen het euroteken vervelend doet in PHP?

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:34

TheDane

1.618

Verschil tussen default iso-8859-1 en iso-8859-15:
Charset Aliases Description
ISO-8859-1 ISO8859-1 Western European, Latin-1
ISO-8859-15 ISO8859-15 Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1(ISO-8859-1).
Misschien dan toch zin maken om die htmlentities() van een derde parameter te voorzien. Een beetje slimme search&replace should do the trick.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Of in je library even iets lulligs definieren als


PHP:
1
2
3
4
5
6
7
$default_charset = 'iso-8859-15';
ini_set('default_charset', $default_charset);

function my_htmlentities ($str, $quote_style=ENT_COMPAT) {
   global $default_charset;
   return htmlentities ($str, $quote_style, $default_charset);
}

[ Voor 6% gewijzigd door Bosmonster op 19-07-2005 13:26 ]

Pagina: 1