acabo de ser derribado después de que nuestro servidor se actualizó de Debian 4 a 5. Cambiamos al entorno UTF-8 y ahora tenemos problemas para obtener el texto impreso correctamente en el navegador, porque todos los archivos están en codificaciones que no son utf8, como iso-8859-1, ascii, etc.Cambiar la codificación del archivo a utf-8 a través de vim en un script
He intentado con muchos scripts diferentes.
El primero que probé es "iconv". Eso no funciona, cambia el contenido, pero los archivos que se encuentran todavía no son utf8.
Mismo problema con enca, encamv, convmv y algunas otras herramientas que instalé a través de apt-get.
Luego encontré un código python, que usa el módulo detector universal de Chardet, para detectar la codificación de un archivo (que funciona bien), pero no funciona la clase Unicode o la clase de códec para guardarlo como utf-8, sin cualquier error
La única forma en que encontré para convertir el archivo y su contenido convertido a UTF-8, es vi.
Estos son los pasos que hago para un archivo:
vi filename.php
:set bomb
:set fileencoding=utf-8
:wq
eso es todo. Ese funciona perfecto. Pero ¿cómo se puede ejecutar esto a través de un script? Me gustaría escribir un script (linux shell) que recorre un directorio que toma todos los archivos php, y luego los convierte utilizando vi con los comandos anteriores. ya que necesito para iniciar la aplicación vi, no sé cómo hacer algo como esto:
"vi --run-command=':set bomb, :set fileencoding=utf-8' filename.php"
espero que alguien me puede ayudar.
No sé lo que significa que argdo, pero he intentado esto y funciona: 'vim + "conjunto de bomba | fijar fileEncoding = UTF-8 | WQ" $ (Encontrar -type f -name * .php.) ' – NovumCoder
Bueno. argdo solo repite el comando para cada archivo en la lista de argumentos. –