Erro utf-8 ao escrever informação em português


(Paulo Rosa) #1

Boas. Quando tento configurar ou copiar scripts existentes para os ficheiros do meu homeassistant em formato YAML, por exemplo para me dar uma notiicação pelo pushbullet, tenho constantemente que limpar os acentos e caracteres especiais portugueses para o homeassistant funcionar.

Agora já uso sempre o comando : hass --script check_config
depois de alteração para verificar antes de reiniciar o hass.
A resposta quando me esqueço de um carácter especial é a seguinte:

General Errors:
- Error loading /home/pi/.homeassistant/configuration.yaml: ‘utf-8’ codec can’t decode byte 0xe3 in position 321: invalid continuation byte

Basta remover o acento e já funciona.
A minha duvida era saber se existe algum método de gravação do ficheiro para ele converter para uma linguagem percebida pelo hass?

Não sei como fiz para ele fazer essa conversão, mas tenho alguns ficheiros que ficaram convertidos automaticamente.
Exemplo:

Bom dia Paulo, hoje o c\u00e9u est\u00e1 {{ states.sensor.dark_sky_summary.state }} est\u00e3o neste momento {{ states.sensor.dark_sky_temperature.state }}º, e {{ states.sensor.dark_sky_humidity.state }}% de humidade. A temperatura m\u00e1xima vai ser de {{ states.sensor.dark_sky_daily_high_temperature.state }}\u00ba e {{ states.sensor.dark_sky_daily_low_temperature.state }}\u00ba de m\u00ednima. Existe {{ states.sensor.dark_sky_precip_probability.state }}% de probabilidade de chover hoje. {% if states(‘sensor.dark_sky_precip_probability’) | int > 60 %} N\u00e3o te esque\u00e7as de levar o chap\u00e9u de chuva. Tem um bom dia chuvoso ;){% else %} Tem um bom dia, Paulo {% endif %}"
},


(Jorge Assunção) #2

Depende de onde está a criar esses ficheiros. Se utilizares o Notepad++ tens uma opção para alterar a codificação dos ficheiros.


(Paulo Rosa) #3

Ok. Acho que estou a começar a perceber. Antes de gravar o ficheiro com acentos, tenho que verificar se a codificação aplicada é utf-8.
Depois de gravar, ao abrir novamente o ficheiro, já converteu sozinho os caracteres portugueses para a codificação por defeito AINSI. :grin:
Parece uma coisa muito simples, mas já perdi horas com isto daí colocar aqui no forum.
Obrigado.


(Jorge Assunção) #4

Podes sempre criar o ficheiro com o Notepad++ e fica logo tudo certo. basta indicares qual a codificação por defeito.


(Paulo Rosa) #5

Obrigado pela ajuda. Com este tópico, percebi finalmente como resolver um problema que tinha há meses.
Agora, já sei. Tenho que ter sempre o cuidado de gravar com a codificação utf-8. :stuck_out_tongue: