(Yahoo is currently in I don't like emails mode again :( so this has only just bounced back to me )
I don't have too much time to go into this, but since basic PHP does not
actually handle UTF8 it is perhaps not surprising that edge cases like
this exist? The buffer sizes Interbase works with allow for 4 bytes per
character, and potentially PHP has no way of knowing to reduce that to a
smaller number of bytes?
Until PHP actually handles UTF8 natively, multi byte strings have to be
processed via the mbstring extension ... basically yes it is a bug in
PHP but since PHP6 has been skipped it's unlikely to be fixed any time
soon.