Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/07/2009, 11:15
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [Aporte] Pseudo-conversión por lotes de ISO a UTF

Bueno, como estoy convirtiendo un sitio que se que codifique completamente en ISO no crei necesario realizar esas comprobaciones, ademas de que los archivos originales se mantienen intactos y siempre hay manera de volver a intentarlo.

Gracias por las sugerencias, no estara de mas aplicarlas para mejorar este script.

Edito:

En el manual de PHP para utf8_encode encontre la funcion fixEncoding(), no la he probado, pero parece ser la adecuada para codificar solo cuando sea necesario:

Código php:
Ver original
  1. // Funcion publicada por [B]mrezair at azarbod dot com[/B]
  2. // Fixes the encoding to uf8
  3. function fixEncoding($in_str)
  4. {
  5.   $cur_encoding = mb_detect_encoding($in_str) ;
  6.   if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
  7.     return $in_str;
  8.   else
  9.     return utf8_encode($in_str);
  10. } // fixEncoding
  11.  
  12. // El codigo solo habria que agregar la funcion
  13. // Y cambiar:
  14. fwrite($file_utf, utf8_encode($file_cnt));
  15.  
  16. // Por esto:
  17. fwrite($file_utf, fixEncoding($file_cnt));

Gracias nuevamente por la sugerencia.
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 14/07/2009 a las 13:42 Razón: Agregar funcion.