Количество проблем со строками пропорционально не только кривизне кода. Еще зависит от сторонних компонент, которые не работают с Unicode. Бывает, что из-за какого-то одного компонента (скажем, движка какой-то архаичной БД, на котором все крутится) приходится перелопачивать пол-проекта. Сотни изменений в каждом модуле, а если что-то пропустил — работать не будет.
ну тут как говорится упорство и труд...