PHP не разрабатывался с нуля для поддержки UTF8. Может быть полезно вместо указания символьного литерала указывать ссылку на сущность / шестнадцатеричный код этого в вашей замене, например, \ x3094, и заменять его, я думаю, что он поддерживается более последовательно.
Хотя это поможет увидеть вашу прямую проблему под рукой, с большим количеством кода.