Living Dangerously with PHP and UTF-8

By Harry Fuecks

Quick one – knocked up a list of “dangerous” functions and functionality in PHP, in relation to the use of UTF-8, available at These are for a “default” PHP setup without the mbstring overloading or PHP6 (where charset problems “magically vanish” ;)).

This follows on from (unfinished) stuff here on charsets (tending towards UTF-8), which should help explain some of this.

Should point out this is coming from the angle “you can’t rely on the mbstring extension being available”, which is often the case with shared hosts – how to you deal with i18n in such environments. The counter view is here.

Anyway – hopefully useful as a starting point for analysing PHP code bases when considering UTF-8 (with a little help from phpxref perhaps). If you want to change / add stuff, the wiki requires a login which you can get here

  • Aska

    Thanks Harry for this immensely useful summary. Had quite a few problems with the PCRE extension myself – now I know how to deal with them.

  • John Fishman

    Harry, thanks very much! Useful post, you’re helped me:)

Get the latest in Front-end, once a week, for free.