without with ufeff sublime bom php mysql encoding utf-8 multibyte

php - ufeff - utf-8 without bom sublime text



Problema con la codificación utf-8 usando PHP+MySQL (10)

Aquí hay una solución. Establezca el encabezado en el header (''Content-type: text/html; charset=utf-8''); Luego imprima su contenido usando utf8_decode($content) . Debes tener los dos para que funcione.

latin2 encoding datos de MySQL 4 (originalmente estaban configurados a latin2 encoding ) a MySQL 5 y configuré la codificación a utf-8 . Se ve bien en phpMyAdmin , y utf-8 está bien. Sin embargo, hay signos de interrogación en lugar de algunos caracteres en el sitio web! La codificación del sitio web también se establece en utf8 por lo que no entiendo dónde está el problema.

Los archivos PHP y HTML también están configurados para utf8 .

No tengo idea...


Coloque el archivo .htaccess en la raíz de su sitio web con el contenido: AddDefaultCharset UTF-8

y

en su conjunto dbconfig después de la conexión a db:

mysql_query ("SET NAMES ''utf8''");


Cuando muestra caracteres UTF8 en un sitio web pero le dice al navegador que los interprete como Latin1 (o Latin2), usted ve este tipo de galimatías:

Cuando muestra caracteres Latin1 (o Latin2) en un sitio web, pero le dice al navegador que los interprete como UTF8, verá signos de interrogación.

Entonces, supongo que lo cambió todo a UTF8 (es decir, le dijo al motor DB, al servidor web y al navegador que usaría UTF8), pero en realidad no convirtió las cadenas a UTF8.

Haz lo que dijo @Darkerstar. Convierta su volcado a UTF8 (Notepad ++ puede hacerlo fácilmente) e impórtelo nuevamente.


En mi servidor, agregar esto a mi archivo php no tuvo efecto:

ini_set(''default_charset'',''utf-8''); mysql_set_charset(''utf8''); header(''Content-type: text/html; charset=utf-8'');

Pero todo funcionó perfectamente una vez que agregué esto a la parte superior de mi archivo php:

$mysqli->query("SET NAMES ''utf8''");

Nota: Estoy usando la codificación utf8_general_ci en mi base de datos, pero utf8_unicode_ci funciona igual para mí.

Espero que ayude.


Hace poco tuve este problema (espero que sea el mismo problema que tienes), probé de muchas maneras pero al final lo que funcionó fue muy simple.

Convierta su archivo SQL volcado al formato UTF-8 y luego impórtelo.

BW: usé Notepad ++ para la conversión.


Intente configurar la conexión MySQL a UTF-8:

SET NAMES ''utf8''

Y envíe encabezados UTF-8 explícitos, en caso de que su servidor tenga alguna otra configuración predeterminada:

header(''Content-type: text/html; charset=utf-8'');


No parece estar configurando cada base de datos SQL, tabla y campo en UTF-8 en MySQL y es lo suficientemente bueno. Muy molesto.

Terminé forzando el problema para resolver problemas de codificación:

Tenía que usar esto. Cada lugar abro la base de datos: $ db-> set_charset ("utf8");

Y eso funcionó. Finalmente.


No tiene que configurar sus archivos PHP y HTML en utf-8.

Solo tiene que establecer su codificación de salida en UTF-8 y el navegador se mostrará correctamente.

En HTML:

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

En PHP:

header(''Content-Type: text/html; charset=UTF-8'');

Cuando obtiene una cadena que es UTF-8 de la tabla MySQL, será UTF-8 hasta la salida del navegador a menos que convierta la codificación. Es la forma en que el navegador lo interpreta.


consulta de prueba

SET NAMES utf8

Antes de cualquier consulta en su aplicación.


mysql_query("SET NAMES UTF8");

Agregar esta línea al final de mi "connection.php" solucionó mi problema.

El código completo de mi archivo de conexión es:

<?php # FileName="Connection_php_mysql.htm" # Type="MYSQL" # HTTP="true" $hostname_test = "localhost"; $database_test = "test"; $username_test = "username"; $password_test = "password"; $test = mysql_pconnect($hostname_test, $username_test, $password_test) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET NAMES UTF8"); ?>

La compilación de mi base de datos es "utf8_general_ci".

Las páginas son "dreamweaver default utf8" y "unicode normalization form = C (Descomposición canónica)".