¿Por qué no puedo ver los caracteres de idiomas extranjeros en mi base de datos mysql?

StackOverflow https://stackoverflow.com/questions/2488886

  •  21-09-2019
  •  | 
  •  

Pregunta

Yo soy la inserción de los siguientes caracteres en mi DB: 汉字 / 漢字

Esta es la etiqueta meta en la página que es la inserción de los personajes:

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

He alterado todas las columnas en la tabla que contiene los caracteres a ser utf8_unicode_ci

Los caracteres extranjeros se muestran como tal en la DB: 汉字 / 漢字

Cuando yo uso una instrucción sql para mostrar los caracteres extranjeros en una página, que se muestren correctamente de nuevo como: 汉字 / 漢字

Supongo que tengo alguna opción de configuración que no es correcto en mi DB, ya que almacena correctamente, pero no se muestra correctamente.

¿Qué puedo hacer para que los caracteres de idiomas extranjeros para que se muestren correctamente en mi base de datos?

EDITAR: Aquí está mi insertar:

$sql = 'INSERT INTO orders (foreign_characters)
        VALUES (?)';

$stmt = $conn->stmt_init();
$stmt->bind_param('s', $_SESSION['foreign_characters']);
$inserted = $stmt->execute();
¿Fue útil?

Solución

Es la conexión a la base de datos también codificado en UTF-8?

Intente esto:justo después de conectarse a la base de datos mysql, ejecute la siguiente consulta.

SET NAMES utf8;

Esto debe hacer el truco (ver MySQL doc).(Sí, usted tiene que hacer esto cada vez que se conecte.)

BTW:no sólo se basan en el <meta>-Etiqueta, enviar la correspondiente encabezado HTTP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top