Pregunta

¿Alguien tiene algún consejo o momento a tener en cuenta al intentar migrar tablas MySQL desde los conjuntos de caracteres predeterminados suecos o ascii que no distinguen entre mayúsculas y minúsculas a utf-8?Algunos de los proyectos en los que estoy involucrado buscan una mejor internacionalización y la base de datos será una parte importante de este cambio.

Antes de intentar modificar la base de datos, convertiremos cada sitio para que utilice la codificación de caracteres UTF-8 (de menos crítica a más) para ayudar a garantizar que todas las entradas y salidas utilicen el mismo conjunto de caracteres.

Gracias por cualquier ayuda

¿Fue útil?

Solución

Algunas sugerencias:

  • Su CHAR y VARCHAR Las columnas utilizarán hasta 3 veces más espacio en disco.(Probablemente no obtendrás mucho espacio en disco para palabras suecas).
  • Usar SET NAMES utf8 antes de leer o escribir en la base de datos.Si no hace esto, obtendrá caracteres parcialmente confusos.

Otros consejos

Tenga cuidado con las limitaciones de longitud del índice.Si una tabla está estructurada, diga:

una tecla Varchar (255) B Varchar (255) ('A', 'B')

Vas a superar el límite de 1000 bytes en la longitud de las claves.255+255 está bien, pero 255*3 + 255*3 no va a funcionar.

Su CHAR y VARCHAR Las columnas utilizarán hasta 3 veces más espacio en disco.

Solo si están repletos de latín-1 con ordinales > 128.De lo contrario, el mayor uso de espacio de UTF-8 es mínimo.

Las colaciones no siempre son favorables.Obtendrá diéresis cotejadas con versiones sin diéresis, lo que no siempre es correcto.Es posible que desee utilizar utf8_bin, pero todo también distingue entre mayúsculas y minúsculas.

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