HTML - html muestra caracteres "ocultos"

   
Vista:

html muestra caracteres "ocultos"

Publicado por centaurux henry.hernandezx@gmail.com (8 intervenciones) el 03/08/2015 20:46:42
Hola Gurus,

Yo aqui con otro pega.

Tengo una pagina q por medio de jquery - json llamo un php para extraer los datos de la tabla mysql y ponerlos en la pantalla. todo esta bien .... bueno.. ,pero los datos cargados vienen con caracteres como si no fueran reconocidos por la aplicacion:
miren:

parte del codigo del php donde armo la tabla para mostrar luego es:

$salida .= '
<tr>
<td class="centra">'.$row['cp_cia'].'</td>
<td class="izqi">'.$row['cp_dsc'].'</td>
<td class="centra">'.$row['cp_sta'].'</td>

la salida en jquery con un alert me da:

<td class=\"centra\">002<\/td>\r\n <td class=\"izqi\">cia 002<\/td>\r\n <td class=\"centra\">A<\/td>\r\n <td>

la pantalla como se ve la anexo en archivo.

Alguien tiene idea del por que me pasa esto. saludos gracias nuevamente amigos.

caracteres-en-pantalla-v1

centaurux.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

html muestra caracteres "ocultos"

Publicado por centaurux (8 intervenciones) el 03/08/2015 21:14:40
Hola amigos,

Revisando un poco y moviendo un poco el codigo tengo lo siguiente.

al cambiar el </td> por <td/> ya no me muestra los caractes, pero ... cual es el motivo, hay algo en la configuracion de php o algo en la configuracion general que hace que al usar </td> muestre los caracteres señalados? siempre he cerrado los tgas con </tag> ... </div> </td> </tr>



<td class="centra">'.$row['cp_cia'].'<td/>
<td class="izqi">'.$row['cp_dsc'].'<td/>
<td class="centra">'.$row['cp_sta'].'<td/>

tengo un año q no programa en php y html hay algo nuevo que no he leido?? ya q no entiendo este detalle.

les agradezco su ayuda y apoyo.

saludos
gracias

centaurux
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

html muestra caracteres "ocultos"

Publicado por xve (1178 intervenciones) el 04/08/2015 10:49:16
Hola Centaurux, lo suyo seria no enviar el código HTML y crearlo desde el mismo JavaScript, pero si lo quieres enviar, creo recordar que tienes que escapar las barras y contra barras... algo así:

Si quieres enviar esto:
1
<td>hola</td>
tienes que enviar:
1
<td>hola<\/td>
o así, no recuerdo:
1
<\td\>hola\<\/td\>

Puedes probarlo y comentarnos?

No hace falta que pases el \r\n, en HTML no tiene ningún valor.

poner esto <td/> no esta contemplado en HTML, y no es correcto!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

html muestra caracteres "ocultos"

Publicado por centaurux (8 intervenciones) el 04/08/2015 16:41:04
Hola xve,

tengo dudas, cual es el motivo de utiliza <\/td> ya que los manuales hablan de <td> y </td> (abrir y cerrar respectivamente)

los caractere \n\r yo no los estoy colocando automaticamente se generan:

este es mi codigo se ve limpio en salida genero una tabla con los datos leidos

$salida .= '
<tr>
<td class="centra">'.$row['cp_cia'].'</td>
<td class="izqi">'.$row['cp_dsc'].'</td>
<td class="centra">'.$row['cp_sta'].'</td>
</tr>

pero, la salida que muestra la funcion aler de jquery es:

<td class=\"centra\">002<\/td>\r\n <td class=\"izqi\">cia 002<\/td>\r\n <td class=\"centra\">A<\/td>\r\n <td>

aqui en class="centra" coloca class=\"centra\"> en donde yo no estoy colocando los \
las terminaciones </td> las pone como <\/td>
y me coloca automaticamente \r\n

no se si es un juego de comillas o es parte de algun paso en la configuracion de mi servidor (appserv 5.2.6)

voy a probar lo q me indica.

Gracias
buen dia

centaurux
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

html muestra caracteres "ocultos"

Publicado por xve (1178 intervenciones) el 04/08/2015 20:50:42
La razón, es porque lo estas enviando desde javascript... por eso tienes que escapar esos caracteres...

Ya nos comentaras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

html muestra caracteres "ocultos"

Publicado por centaurux (8 intervenciones) el 04/08/2015 21:01:02
hola q tal xve,

Es extraño, pero hace nu año aprox usaba el mismo procedimiento y no tenia estos detalles

ahora bien investigando tengo la siguiente solucioin:

1
2
3
4
5
6
$json_encoded_string = json_encode($salidaJson);
$search = array("\\n", "\\r", "\\u", "\\t", "\\f", "\\b", "\/", "\"", '\"');
$replace = array("\n", "\r",  "\u",  "\t",  "\f",  "\b",  "/",  '"',  '"');
$encoded_string = str_replace( $search, $replace, $json_encoded_string);

echo $encoded_string;

la cual me reemplaza los caracteres generados x j_son y asi ya no tengo problemas en mi html

saludos
gracias

centaurux,
pura vida!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

html muestra caracteres "ocultos"

Publicado por xve (1178 intervenciones) el 05/08/2015 08:42:14
Gracias por compartirlo Centaurux!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar