Si usáis Poedit, como herramienta de traducción de vuestras webs… y suponiendo que nuestro server ya tiene configurado la directivaAddDefaultCharset UTF-8.

4 pasos imprescindibles para evitar problemas de signos o caracteres raros como: �, etc… en diferentes lenguajes (alemán, ruso, etc…) que tengan caracteres diferentes del español:

1. Los archivos fuente (php, html…) tienen que estar codificados en utf-8. Esto es muy importante.

2. Dentro del «head» de vuestras webs, el meta charset tiene que tener la codificación de caracteres en UTF-8:

Para html 5:

<meta charset="utf-8" />

Para html 4:

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">

3. En el archivo php que llamamos a los archivos «locale» de los diferentes idiomas, hay que añadir la función bind_textdomain_codeset con su parámetro «utf-8», ej:

putenv("LC_ALL=$language");
setlocale(LC_ALL, $language);
bindtextdomain("messages", "./locale/");
bind_textdomain_codeset("messages", 'utf-8'); /* importante */
textdomain("messages");

4. En configuración de los archivos poedit, en el menu: catálogo > propiedades > propiedades de traducción. Elegir «UTF-8» en los 2 conjunto de caracteres.

Agradezco tu comentario 🤘