Já bych na to možná šel nějak takto:
<?php
$azbukaentita = Str_Replace("ш","щ",$azbukaentita);
$entitas = Str_Replace("щ","š",$entitas);
?>
Ale to jen střílím od boku, nikdy jsem to nedělal a v PHP možná i je něco jednoduššího. Navíc jsem ani nezkoušel, jestli to funguje, je to jen nápad.
Zkrátka převést ty azbuky nejdříve na entitu, či hexadecimálně a to pak převést na české.
Možná by se mohlo šiknout i tohle
http://mlha.cz/unicode/utf8.php?n=449