Roar: Eingabefelder und Euro-Zeichen

Beitrag lesen

Ich hab ein Problem mit dem Einlesen von Daten aus einem HTML-Eingabefeld in eine Datei.
Ich habe also eine Form mit einem Input Feld:

new.php:
...
<?php
  if (isset($_POST['send'])) {
    if (!eregi('preis',$gen_price)) {
      $gen_price_invalid_text = 'Ein Preis mit Text muss angegeben werden';
      $gen_price_invalid = true;
    }
    ...
    if (!$invalid_input) {
      ...
      fwrite($handle,utf8_encode(htmlentities($gen_price))."\r\n");
      ...
    }
?>
<?php
  echo '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
?>
...
<form name="update_hp" method="post" enctype="multipart/form-data" action="new.php">
  <input id="field" name="gen_price" />
  <input type="submit" name="send" value="Absenden" />
</form>
...
Beim Drücken auf den Absenden-Button wird die gleiche Datei wieder aufegrufen und es werden die Variablen überprüft. Bei Erfolg werden die Daten in eine Datei geschrieben und es wird an eine andere Datei weitergeleitet.

Das Problem ist nun, falls im Eingabfeld das Eurozeichen vorkommt, wird dieses nicht in &euro; umgewandelt, sondern in der Datei steht anschließend ein Kästchen. Bei anderen Sonderzeichen wie ö ä ü ß funktioniert alles problemlos.
Die Dateien selbst (php, html) sind als UTF-8 abgespeichert.