Du schreibst unten, das das von einer Eingabe kommt, als was denn ? utf-8 (enctype im bzw. encoding der Seite) ? Dann sollte in der Eingabe direkt dieses Zeichen stehen, im String hast du dann z.B. 2 Zeichen für eines, da Strings in PHP5 immer Bytes sind, also keine Multibyte-Zeichen direkt unterstützt werden. Den Wert der einzelnen Zeichen gibts dann direkt mit ord().
Anhand der Tabelle unter http://de.wikipedia.org/wiki/Utf8 kannst du schauen, ob das aktuelle Zeichen noch weitere Bytes hat, um die zu dekodieren.
Richtig hässlich wird es, wenn du irgendeinen Nicht-Multibyte Zeichensatz im Dokument hast (iso-8859-1, etc.), dann kommt alles, was da nicht drin ist, als HTML-Entity an, also & #x1234 , etc.