Параметр функции со странным поведением кодировки в PHP

У меня есть следующий код PHP:

<?php ini_set( 'default_charset', 'UTF-8' ); mb_internal_encoding('UTF-8'); function labelValidate($label) { echo mb_detect_encoding($label.'x', 'UTF-8, ISO-8859-1'); echo '<br />'; echo mb_detect_encoding('Rio, coração do Brasil', 'UTF-8, ISO-8859-1'); } labelValidate('Rio, coração do Brasil'); ?> 

Я получаю этот вывод:

ISO-8859-1 UTF-8

Кто-нибудь знает, почему параметр $ label имеет ISO-кодировку, но прямое эхо, которое я создал внутри функции, кодирует UTF-8?

Это порождает головную боль для меня, потому что я должен поместить utf8_encode в $ label var, иначе я получаю проблематичные символы в выходе.

Спасибо за любую помощь!

Речь идет о вашем текстовом редакторе.

Попробуйте удалить строки «Rio, coração do Brasil» из кода и написать его еще раз.

С помощью @Marc B и @Michael Madsen я загрузил Notepad ++ (PHP IDE) и преобразовал кодировку UTF-8 без спецификации, поэтому все мои проблемы были решены. Dreamweaver сохранял некоторые файлы как ANSI, это было поколение путаницы на PHP.

Большое спасибо за всех!