Данные в базе в UTF и соединение с базой тоже в этой кодировке.
Вывод также в кодировке либо посредством заголовка, либо мета тега.
Все скрипты, статичные файлы также в UTF.
И проблем не будет, а хотите их в дальнейшем - оставайтесь в CP1251.
https://habrahabr.ru/post/17640/
И заметьте по поводу JSON в конце статьи - все бы было хорошо, если бы только автор не забыл сказать, что json_encode вместо строки из национальных символов в CP1251 вернет false.
Так что решайте, либо постоянно помнить о преобразованиях, либо забыть о 1251. В нынешнее время ее уже мало.