De fato, esses mistérios podem deixar um programador louco rsrsrs.
Acredito que esse tipo de coisa fantasmagórica tenha a ver com o uso de diferentes codificações de caracteres (também chamados de enconding ou charset) pelos softwares (incluindo o software usado para escrever e salvar o script).
No lendário bloco de notas (notepad), quando usamos o "Salvar como", podemos escolher entre algumas codificações (veja lá). Normalmente, nem notamos que temos essa opção; mas, como no caso que você citou, escolher a "errada" pode dar problemas com acentuação.
Os profissionais da programação parecem indicar, em uníssono, que, aqui no Brasil, devemos usar a codificação UTF-8. Eu nunca usei ela e nunca tive problema com o PHP (acredito que seja porque a codificação padrão do PHP seja ISO, assim como é a do notepad e do editor de PHP que uso. Ah, e, no banco de dados, também sempre tomei o cuidado de escolher charset ISO).
Escrito dessa forma, pode até parecer que sei muito sobre essas codificações, mas, na verdade, não sei quase nada além de que temos que usar a mesma codificação no editor, no PHP e no banco de dados para não termos problemas com acentuação.
Se quiser se aprofundar um pouco, talvez estes links possam ajudar a começar (mas não garanto, justamente pela minha limitação de conhecimento confessada acima, que sejam confiáveis):
https://pt.stackoverflow.com/questions/27519/quando-usar-ansi-e-quando-usar-utf-8
http://gilbertoalbino.com/trocar-a-codificacao-de-caracteres-padrao-do-php-problemas-com-utf-8/
https://imasters.com.br/linguagens/php/configurando-charset-de-uma-aplicacao-php/?trace=1519021197&source=single