2010-11-30 30 views
10

Tengo que hacer una versión rusa de un sitio web, pero no puedo averiguar cómo insertar caracteres rusos en la base de datos.MySQL - Los caracteres rusos se muestran correctamente

He probado casi todos los posibles de codificación, pero sólo muestra:

???????? ?????????? ??????? ??????? ? ????? ?? ????????????? ? ???????, ??????? ????? ??????? ???????? ????? .??? ??????????? ???????? ????? ?? ????? ?????????? ? ????? ????????. 
??????????? ?????? ?? ???????? ????? ?? 20 ???????. ???????? ??? ?? ??????????? ?????????????? ????? ? ????????????? ??????? ??????. ? ???????, ? ??????? ? ?.?. 
+0

¿Qué es la codificación utilizada para la base de datos? y donde intentas mostrar? – Vjy

+0

UTF8_general_ci – Mike

+0

¿De dónde es su salida? Los datos pasan por varias capas. Aquí hay un enlace a preguntas similares para que pueda ver los diversos parámetros que influyen en mysql con http://stackoverflow.com/questions/3823278/fixing-encondings – Unreason

Respuesta

13
  1. Asegúrese de que el juego de caracteres de base de datos/coallition es UTF-8
  2. En la página de insertar estos caracteres rusos (la forma , textarea), asegúrese de que la codificación sea UTF-8, estableciendo Content-Type en text/html; charset=utf-8. Ingrese el texto en ruso directamente en la entrada del formulario.
  3. En la página de procesamiento que maneja este formulario, que lo inserta en la base de datos, asegúrese de hacer SET NAMES utf8 para que se guarde como UTF-8 antes de inserte los datos, en una consulta separada de antemano.
  4. Cuando representa el contenido de la base de datos en una vista, asegúrese de que Content-Type es text/html; charset=utf-8.

Asegúrese de que el tipo de contenido es no ventanas-1251 o ISO-8859-1/latin1. Asegúrese de que el juego de caracteres/coallición de la base de datos NO sea ISO-8859-1/Latin1.

+2

Ok, la frase importante de su respuesta es "asegúrese". :-) Tenía UTF-8 en la base de datos y las tablas, pero descubrí que había corregido la codificación de latin2 en Columns. Gracias. :-) – Mike

+2

Seguramente significa "colación", no "coallición" – Alexxus

Cuestiones relacionadas