poner - tildes en php
Los caracteres no ingleses aparecen como signos de interrogaciĆ³n en mi pĆ”gina php: aparecen bien en la base de datos (2)
Además, en HTML, dentro debemos escribir:
<meta charset="utf-8">
Cuando creamos una base de datos MySQL, debemos usar algo como esto:
CREATE DATABASE `base` DEFAULT CHARACTER SET=utf8;
Cuando creamos tablas, use:
CREATE TABLE `base`.`table` (
`key` int(5) unsigned NOT NULL,
`name` varchar(100),
...
PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
En el código PHP, después de mysql_connect () y mysql_select_db (), use:
mysql_query(''SET NAMES UTF8'');
Tengo una tabla de base de datos MySQL poblada con datos que no están en inglés. Cuando veo los datos en el navegador Navicat MySQL, los datos aparecen bien. Sin embargo, cuando ejecuto un script php para seleccionar y mostrar los datos en una página web, aparecen signos de interrogación. La codificación de la página está configurada en utf8 e incluso la intercalación de MySQL está configurada en utf8: algo se equivoca al seleccionar y mostrar ... por favor ayuda.
La configuración de conexión de MySQL podría ser la culpa aquí. Ejecute este comando MySQL cuando se conecte a la base de datos desde PHP, antes de ejecutar cualquier otro comando SQL:
SET names ''utf8'';
Esto debería establecer la codificación de la conexión a UTF-8. Como dices, la página y la base de datos ya están en UTF-8 (eso también debería significar que la página envía Content-Type: text/html; charset=utf-8
); la conexión en sí misma puede tener accidentalmente una codificación diferente por defecto :(