граница слова regex не работает в ut8 на некоторых серверах

У меня странная проблема. рассмотрим этот короткий код:

<?php $reg = '/(?<!\pL)(test)(?!\pL)/u'; $text='This is a test text'; $replace = 'test_replaced'; $newtext = preg_replace($reg, $replace, $text); echo "Error: ".preg_last_error()."\nResult: ".$newtext."\n"; ?> 

На некоторых серверах соответствие границ UTF8 не работает. я получил

 Error: 0 Result: 

На большинстве серверов все работает нормально:

 Error: 0 Result: This is a test_replaced text 

Проблема, по-видимому, связана с границей слов, когда я использую \b а код работает.

Оба сервера используют php 5.2.13. Какие-нибудь подсказки, что может быть неправильно и как обойти это?