utf 8 - saber - ¿Cómo convierto un archivo codificado ANSI a UTF-8 con Notepad++?
notepad++ cambiar codificación (3)
En cuanto a esta parte:
Cuando lo convierto en UTF-8 sin bom y archivo cerrado, el archivo vuelve a ser ANSI cuando vuelvo a abrir.
La solución más fácil es evitar el problema completamente configurando Notepad ++.
Pruebe Settings
-> Preferences
-> New document
-> Encoding
-> elija UTF-8
sin BOM y marque Apply to opened ANSI files
.
De esta forma, todos los archivos ANSI abiertos se tratarán como UTF-8 sin BOM.
Para una explicación de lo que está sucediendo, lea los comentarios debajo de esta respuesta.
Para obtener información completa sobre Unicode y UTF-8, lea este excelente artículo de Joel Spolsky.
Tengo un sitio web y puedo enviar mis caracteres turcos con jQuery en Firefox, pero Internet Explorer no envía mis caracteres turcos. Miré mi archivo fuente en el bloc de notas, y la página de códigos de este archivo es ANSI.
Cuando lo convierto en UTF-8 sin BOM y cierro el archivo, el archivo vuelve a ser ANSI cuando vuelvo a abrir.
¿Cómo puedo convertir mi archivo de ANSI a UTF-8?
Quizás esta no es la respuesta que necesitabas, pero encontré un problema similar, así que decidí ponerlo aquí.
Necesitaba convertir 500 archivos xml a UTF8 a través de Notepad ++. ¿Por qué Notepad ++? Cuando utilicé la opción "Codificar en UTF8" (muchos otros convertidores usan la misma lógica) dañó todos los caracteres especiales, así que tuve que usar "Convertir a UTF8" explícitamente.
Aquí hay algunos pasos simples para convertir múltiples archivos a través de Notepad ++ sin estropearlos con caracteres especiales (por ejemplo, marcas diacríticas).
- Ejecute el Bloc de notas ++ y luego abra el menú Complementos-> Administrador de complementos-> Mostrar el Administrador de complementos
- Instalar Python Script . Cuando el complemento está instalado, reinicie la aplicación.
- Elija el menú Complementos-> Python Script-> Nueva secuencia de comandos .
- Elija su nombre, y luego pase el siguiente código:
convertToUTF8.py
import os
import sys
from Npp import notepad # import it first!
filePathSrc="C://Users//" # Path to the folder with files to convert
for root, dirs, files in os.walk(filePathSrc):
for fn in files:
if fn[-4:] == ''.xml'': # Specify type of the files
notepad.open(root + "//" + fn)
notepad.runMenuCommand("Encoding", "Convert to UTF-8")
# notepad.save()
# if you try to save/replace the file, an annoying confirmation window would popup.
notepad.saveAs("{}{}".format(fn[:-4], ''_utf8.xml''))
notepad.close()
Después de todo, ejecuta el script
Si no tiene caracteres que no sean ASCII (puntos de código 128 y superiores) en su archivo, UTF-8 sin BOM es lo mismo que ASCII, byte para byte, por lo que Notepad ++ adivinará incorrecto.
Lo que debe hacer es especificar la codificación de caracteres al servir la respuesta AJAX ; por ejemplo, con PHP, haría esto:
header(''Content-Type: application/json; charset=utf-8'');
La parte importante es especificar el juego de caracteres con cada respuesta JS; de lo contrario, IE recurrirá a la codificación predeterminada del sistema del usuario, lo que es erróneo la mayor parte del tiempo.