¿Por qué  ¿Aparece en mi HTML? [duplicar]

Resuelto mehdi asked hace 12 años • 0 respuestas

Veo este personaje en Firebug .

No sé por qué sucede esto, no existe ese carácter en mi código. Para Firefox está bien, pero en IE todo se estropea. Ni siquiera puedo buscar este personaje en Google.

Guardé mi archivo con codificación utf-8 sin bom.

ingrese la descripción de la imagen aquí

mehdi avatar Mar 14 '12 03:03 mehdi
Aceptado

El carácter en cuestión &#65279es el carácter Unicode 'ESPACIO SIN INTERRUPCIÓN DE ANCHO CERO' (U+FEFF). Es posible que lo hayas copiado en tu código mediante copiar y pegar sin darte cuenta. El hecho de que no sea visible hace que sea difícil saber si estás usando un editor que muestra caracteres Unicode reales.

Una opción es abrir el archivo en un editor de texto muy básico que no entienda Unicode, o uno que lo entienda pero tenga la capacidad de mostrar caracteres que no sean ASCII usando sus códigos reales.

Una vez que lo ubique, puede eliminar el pequeño bloque de texto que lo rodea y volver a escribir ese texto manualmente.

RHSeeger avatar Mar 13 '2012 20:03 RHSeeger

Simplemente use notepad ++ con codificación UTF-8 sin BOM.

shonhloi avatar Apr 02 '2012 02:04 shonhloi

sí, es muy sencillo solucionarlo, simplemente abra ese archivo con notepad++ y siga los pasos --> Codificación\codificación UTF-8 sin BOM. luego guárdalo. ¡A mí también me funciona!

user1386086 avatar May 11 '2012 12:05 user1386086

Intentar:

<?php 
// Tell me the root folder path.
// You can also try this one
// $HOME = $_SERVER["DOCUMENT_ROOT"];
// Or this
// dirname(__FILE__)
$HOME = dirname(__FILE__);

// Is this a Windows host ? If it is, change this line to $WIN = 1;
$WIN = 0;

// That's all I need
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>UTF8 BOM FINDER and REMOVER</title>
<style>
body { font-size: 10px; font-family: Arial, Helvetica, sans-serif; background: #FFF; color: #000; }
.FOUND { color: #F30; font-size: 14px; font-weight: bold; }
</style>
</head>
<body>
<?php
$BOMBED = array();
RecursiveFolder($HOME);
echo '<h2>These files had UTF8 BOM, but i cleaned them:</h2><p class="FOUND">';
foreach ($BOMBED as $utf) { echo $utf ."<br />\n"; }
echo '</p>';

// Recursive finder
function RecursiveFolder($sHOME) {
  global $BOMBED, $WIN;

  $win32 = ($WIN == 1) ? "\\" : "/";

  $folder = dir($sHOME);

  $foundfolders = array();
  while ($file = $folder->read()) {
    if($file != "." and $file != "..") {
      if(filetype($sHOME . $win32 . $file) == "dir"){
        $foundfolders[count($foundfolders)] = $sHOME . $win32 . $file;
      } else {
        $content = file_get_contents($sHOME . $win32 . $file);
        $BOM = SearchBOM($content);
        if ($BOM) {
          $BOMBED[count($BOMBED)] = $sHOME . $win32 . $file;

          // Remove first three chars from the file
          $content = substr($content,3);
          // Write to file 
          file_put_contents($sHOME . $win32 . $file, $content);
        }
      }
    }
  }
  $folder->close();

  if(count($foundfolders) > 0) {
    foreach ($foundfolders as $folder) {
      RecursiveFolder($folder, $win32);
    }
  }
}

// Searching for BOM in files
function SearchBOM($string) { 
    if(substr($string,0,3) == pack("CCC",0xef,0xbb,0xbf)) return true;
    return false; 
}
?>
</body>
</html>

Copie este código en el archivo php, cárguelo en la raíz y ejecútelo.

para más información sobre esto: http://forum.virtuemart.net/index.php?topic=98700.0

Osama Elhamahmy avatar Mar 19 '2012 15:03 Osama Elhamahmy