PHP: preg_replace sin distinción entre mayúsculas y minúsculas de una cadena cirílica en UTF8

Yo tengoa script PHP 5.3 mostrando a los usuarios de mi sitio web y me gustaría reemplazar una determinada ciudad rusa (almacenada en UTF8 en la base de datos PostgreSQL 8.4.7 + CentOS 5.5 / 64 bits Linux) por su nombre anterior (es una broma interna):

preg_replace('/Волгоград/iu', 'Сталинград', $city);

Desafortunadamente, esto solo funciona para coincidencias exactas: Волгоград.

Esto no funciona para otros casos, como ВОЛГОГРАД o волгоград.

Si modifico mi código fuente a

preg_replace('/[Вв]олгоград/iu', 'Сталинград', $city);

then capturará el segundo caso anterior.

¿Alguien sabe qué está pasando y cómo solucionarlo (suponiendo que no quiera escribir [Xx] paracad letra)

¡Gracias! Alex

ACTUALIZAR

# rpm -qa|grep php
php53-bcmath-5.3.3-1.el5
php53-gd-5.3.3-1.el5
php53-common-5.3.3-1.el5
php53-pdo-5.3.3-1.el5
php53-mbstring-5.3.3-1.el5
php53-xml-5.3.3-1.el5
php53-5.3.3-1.el5
php53-cli-5.3.3-1.el5
php53-pgsql-5.3.3-1.el5

# rpm -qa|grep pcre
pcre-6.6-2.el5_1.7

Respuestas a la pregunta(9)

Su respuesta a la pregunta