
Exportar a Excel ñ y acentos
Publicado por Samuel (5 intervenciones) el 18/08/2016 19:30:18
Buen dia:
Es mi primer post de consulta. Un saludo antes que todo.
Estoy haciendo una aplicaicon en php para exportar cierta informacion a excel. Tengo una tabla que tiene cotejamiento utf8_general_ci. Uno de los campos de la tabla de donde voy a sacar la informacion tiene informacion de descripcion, es de tipo texto y guarda informacion parecida a esta:
1) <p>libro: "Manual de uso de la moxibustión"</p> al
Ahi se guarda una descripcion completa del producto, pueden utilizarse viñetas, acentos, ñ, etc.
El problema es que al exportarlo a excel, cuando trae asentos o ñ no me exporta la informacion.
Revise en google y encontre algo con la funcion htmlentities() que resolvio parcielmente, ya que substitui esos caracteres por otros y me exporta lo siguiente:
2) <p>libro: "Manual de uso de la moxibusti�n"</p>
Lo que hice fu esto : $describe=htmlentities($registro[2], ENT_QUOTES | ENT_SUBSTITUTE);
Pero, yo quiero que me exporte la informacion exactamente como aparece en el punto 1.
Les dejo el codigo aqui:
Es mi primer post de consulta. Un saludo antes que todo.
Estoy haciendo una aplicaicon en php para exportar cierta informacion a excel. Tengo una tabla que tiene cotejamiento utf8_general_ci. Uno de los campos de la tabla de donde voy a sacar la informacion tiene informacion de descripcion, es de tipo texto y guarda informacion parecida a esta:
1) <p>libro: "Manual de uso de la moxibustión"</p> al
Ahi se guarda una descripcion completa del producto, pueden utilizarse viñetas, acentos, ñ, etc.
El problema es que al exportarlo a excel, cuando trae asentos o ñ no me exporta la informacion.
Revise en google y encontre algo con la funcion htmlentities() que resolvio parcielmente, ya que substitui esos caracteres por otros y me exporta lo siguiente:
2) <p>libro: "Manual de uso de la moxibusti�n"</p>
Lo que hice fu esto : $describe=htmlentities($registro[2], ENT_QUOTES | ENT_SUBSTITUTE);
Pero, yo quiero que me exporte la informacion exactamente como aparece en el punto 1.
Les dejo el codigo aqui:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
$c=mysql_connect("localhost","root");
mysql_select_db("herbo");
$consulta="SELECT p.product_id,d.name,d.description,pc.category_id,p.image,p.price FROM `y2ncg_mijoshop_product` as p
INNER JOIN `y2ncg_mijoshop_product_description` as d ON d.product_id=p.product_id
INNER JOIN `y2ncg_mijoshop_product_to_category` as pc ON pc.product_id=p.product_id
INNER JOIN `y2ncg_mijoshop_category_description` as cd ON cd.category_id=pc.category_id
WHERE p.quantity > 0
AND d.language_id=2
AND p.status=1
GROUP by p.product_id";
$r=mysql_query($consulta);
$d=mysql_num_rows($r);
if($d>0){
header('Content-type:application/vnd.ms-excel; charset=utf-8');
header("Content-type:application/x-msexcel; charset=utf-8");
header("Content-Disposition:attachment;filename=archivo.xls");
header("Pragma:no-cache");
header("Expires:0");
echo ("<table border=1>");
echo ("<tr>");
echo ("<td>ID</td>");
echo ("<td>NAME</td>");
echo ("<td>DESCRIPTION</td>");
echo ("<td>DESCRIPTION2</td>");
echo ("<td>Category</td>");
echo ("<td>image</td>");
echo ("<td>price</td>");
echo ("<tr>");
while ($registro=mysql_fetch_row($r)){
//$describe=utf8_encode($registro[2]);
$describe=htmlentities($registro[2], ENT_QUOTES | ENT_SUBSTITUTE);
//$describe=htmlentities($registro[2]);
echo ("<tr>");
echo ("<td>$registro[0]</td>");
echo ("<td>$registro[1]</td>");
echo ("<td>$describe</td>");
echo ("<td>$registro[2]</td>");
echo ("<td>$registro[3]</td>");
echo ("<td>https://herbomedicals.mx/components/com_mijoshop/opencart/image/cache/$registro[4]</td>");
echo ("<td>$registro[5]</td>");
}
echo("</table");
}
else{
echo("No hay registros en la tabla");
}
mysql_close();
?>
Valora esta pregunta


0