questo è un problema di sempre...![]()
bisogna controllare:
la correttezza delle catena della codifica dei file che cono parte in causa (tutti i file con la stessa codifica)
la correttezza delle catena del charset dei file che cono parte in causa (tutti i file con lo stesso charset e coerenti con la codifica )
la correttezza della lingua invocata dai file (il codepage)
insomma un casino![]()
per non dimenticare varie ed eventuali
per semplificare potresti convertire tutti i caratteri speciali con le loro relative entità, ma potrebbe essere un lavoro ingrato o poco "pulito" a seconda del contesto