На русском языке есть немало информации (конечно, не так много, как на англ), поэтому зачем усложнять себе жизнь? + pre intermediatle слабоват для технических книг.
Понимаю, что вопрос задан более трёх лет назад, но ответа до сих пор нет.
У вас ошибка в функции iconv, нужно поменять местами кодировки.
Неверно: iconv('utf-8', 'Windows-1252', string)