MySQL - caracteres rusos muestra de forma incorrecta
Pregunta
Tengo que hacer una versión en ruso de una página web, pero no puedo averiguar, cómo insertar caracteres rusos en la base de datos.
He probado casi todos los posibles de codificación, pero sólo muestra:
???????? ?????????? ??????? ??????? ? ????? ?? ????????????? ? ???????, ??????? ????? ??????? ???????? ????? .??? ??????????? ???????? ????? ?? ????? ?????????? ? ????? ????????.
??????????? ?????? ?? ???????? ????? ?? 20 ???????. ???????? ??? ?? ??????????? ?????????????? ????? ? ????????????? ??????? ??????. ? ???????, ? ??????? ? ?.?.
Solución
- Asegúrese de que la base de datos de juego de caracteres / colación es UTF-8
- En la página de insertar estos caracteres rusos (la forma, de área de texto), asegúrese de que la codificación es UTF-8, mediante el establecimiento de Content-Type a
text/html; charset=utf-8
. Introducir en el texto ruso directamente a la entrada de un formulario. - En la página de procesamiento que se encarga de esta forma, que lo inserta en la base de datos, asegúrese de hacer
SET NAMES utf8
por lo que se almacena como UTF-8 antes de que insertar los datos, en una consulta separada de antemano. - Cuando se procesa el contenido de la base de datos en una vista, asegúrese de que el
Content-Type
estext/html; charset=utf-8
.
Asegúrese de que el tipo de contenido es no windows-1251 o ISO-8859-1 / latin1. Asegúrese de que la base de datos de juego de caracteres / colación no es ISO-8859-1 / Latin1.
Otros consejos
Para almacenar caracteres rusos en su base de datos db debe apoyar codificación UTF-8. Modifique la tabla de consulta con más adelante para permitir codificación UTF-8.
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow