htmlentities($string,ENT_NOQUOTES, ‘UTF-8′)

Estuve peleando como pendejo contra el puto encoding de html en Internet Explorer, por que resulta que la mamada esa no sabe interpretar el meta tag

  <meta http-equiv="Content-Type" content="text/html; charset=utf8" />

y fué un verdadero pedo encontrar la sintáxis adecuada de htmlentities() para que funcionara bien, después de mucho interpretar el manual, dejo a su disposición un ejemplo que funciona bastante bien, en IE6-7, Opera, FF3 y Chrome.

Aquí el ejemplo completo:

<fieldset>
<table border="0" align="center" width="100%">
      <tr class='renglon_titulo'>
        <td width='5%'>Folio</td>
       	<td width='10%'>Fecha</td>
        <td width='30%'>Nombre del contratante</td>
        <td width='40%'>Objeto del contrato</td>
        <td width='20%'>Acciones</td>
      </tr>
<?php
  $rs = $solicitud->rsBuscar($_POST);
  if ($rs) {
    while ($recordset = pg_fetch_object($rs)){

      $sHTML = ' <tr class=\'renglon_contenido\'>';
      $sHTML .= ' <td width=\'5%\'>'.$recordset->folio.'</td>';
      $sHTML .= ' <td width=\'10%\'>'. htmlentities($recordset->fecha_solicitud, ENT_NOQUOTES, 'UTF-8').'</td>';
      $sHTML .= ' <td width=\'30%\'>'. htmlentities($recordset->nombre_contratante, ENT_NOQUOTES, 'UTF-8').'</td>';
      $sHTML .= ' <td width=\'40%\'>'. htmlentities($recordset->objeto_contrato, ENT_NOQUOTES, 'UTF-8').'</td>';
      $sHTML .= ' <td width=\'20%\'><a href=\'\' class=\'boton\'> Ver y Modificar</a>';
      $sHTML .= ' </tr>';
      echo $sHTML;
    }
  }else{
    echo '<tr><td colspan=\'3\'><h3>No hay registros</h3></td></tr>';
  }
?>
</table>
</fieldset>

Espero que tengan un día felíz por no tener que quebrarse la pinche cabeza a lo güei jejeje, saludos.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon

6 Comments »

 
  1. rb3m says:

    ¿No te faltó el guión: charset=utf8? (En el sitio verdadero, no en el ejemplo que pusiste aquí)

    IE por defecto usa Windows-1250 si no reconoce el juego de caracteres (no sé si en IE8 cambiaron esto).

  2. Lobo-X says:

    Esto me recuerda a una de mis materias favoritas en la escuela, y más precisamente a las sesiones de álgebra con el Maestro Zintzun en la tres veces gloriosa Wilfrido Massieu: “¿y dónde quedó el signo?”

    Lo anterior viene a colación porque te falta un mísero guión en el tag:


    Sólo para reafirmar, efectivamente, el “utf” va separado del “8″ con un “-”.

    Así que no culpes al pobre Internet Explorer de tooodas tus desgracias, suficiente tiene con las mentadas que yo le propino cada día (claro, algunas de ellas se originan con mis propias burradas, también soy humano).

    Buen día.

  3. Lobo-X says:

    Por alguna extraña razón, esta cosa desapareció una parte del texto, supongo que es por ser un tag de html. Haré un par de intentos más:

  4. Toltecatl says:

    ¿Podría Ud aclararme, dónde me faltó el guióncito?
    Es que no veo jejejejejej

  5. Lobo-X says:

    Olvídenlo, mejor pongo sólo la parte a corregir.

    Incorrecto: content=”text/html; charset=utf8″

    Correcto: content=”text/html; charset=UTF-8″

  6. Toltecatl says:
     Correcto: content="text/html; charset=UTF-8″ 

    Okay, aunque sinceramente me estaba funcionando bien sin el “-” así que ahorita mesmo lo corrijo.

    Mil gracias de nuevo

 

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>