Problema de codificación de caracteres después de cambiar de servidores

5 mar 2011, 18:38:06
Vistas: 29.1K
Votos: 5

Recientemente trasladé mi sitio basado en WordPress de DreamHost VPS a un VPS Linode ejecutando Debian + LEMP. Después de poner el sitio en funcionamiento nuevamente, noté muchos caracteres erróneos en las publicaciones; caracteres como " y - estaban siendo reemplazados por símbolos ilegibles.

Después de investigar un poco, parecía claro que el problema estaba relacionado con la codificación de caracteres.

Encontré una guía que sugería editar wp-config.php y comentar las líneas:

define('DB_CHARSET', 'utf8'); y define('DB_COLLATE', '');

Hice esto y solucionó el problema, pero me pregunto si esa fue la mejor manera de abordarlo. Gracias por cualquier consejo.

1
Comentarios

Podría estar equivocado aquí, pero cuando tuve el mismo problema al cambiar de servidores, se debía a que el archivo se guardó en formato ascii en lugar de utf.

Bainternet Bainternet
5 mar 2011 18:41:06
Todas las respuestas a la pregunta 4
2

Después de pasar todo el día trabajando en esto, finalmente encontré una guía que funcionó perfectamente:

Antes de eso, intenté seguir la información de @Rarst, intenté exportar la base de datos y limpiarla manualmente, probé el Plugin UTF-8 Sanitize con una versión modificada de aquí http://www.prelovac.com/vladimir/ultimate-solution-to-weird-utf-character-encoding-problem (que en realidad funcionó bastante bien, pero no arregló todos los caracteres. Y probablemente fue una mala idea).

De cualquier forma, si alguno de ustedes se encuentra con este problema, revisen el primer enlace que publiqué. El procedimiento fue bastante simple y básicamente consistió en reemplazar SET NAMES latin1 con SET NAMES utf8 después de exportar la base de datos, luego asegurarse de importar la nueva base de datos limpia explícitamente como UTF8.

6 mar 2011 01:17:48
Comentarios

El plugin UTF8 Sanitize está funcionando para mí (aunque el plugin es bastante antiguo, dice que no se ha actualizado en 2 años al momento de este comentario https://wordpress.org/plugins/wp-utf8-sanitize/) corrigiendo un volcado de base de datos que estaba corrupto.

artlung artlung
4 sept 2014 00:05:17

el primer enlace está roto

Duck Duck
1 abr 2017 20:58:34
4

Aquí hay otra solución que funcionó para mí...

simplemente comenta DB_CHARSET y DB_COLLATE en wp-config.php

//define('DB_CHARSET', 'utf8');

//define('DB_COLLATE', '');
9 nov 2014 14:41:02
Comentarios

Por favor, explica por qué esto ayudaría.

kaiser kaiser
9 nov 2014 15:08:23

¿Cómo es esto "otra solución"? Exactamente lo mismo ya se mencionó en la pregunta; él intentó comentar esas dos líneas en wp-config.php y funcionó, pero se preguntaba si había una mejor solución. Tu respuesta no aporta nada.

Gabriel Gabriel
9 nov 2014 15:28:37

Lo siento, no leí la pregunta completamente... fue mi error

Sabeer Sabeer
10 nov 2014 06:42:12

¡Funciona de maravilla!

Mike Nguyen Mike Nguyen
4 ene 2017 14:21:49
1

Consulta Conversión de conjuntos de caracteres en la base de datos en Codex. El artículo menciona que fue completamente reescrito en la versión 3.0.1, por lo que la información debería estar actualizada.

5 mar 2011 19:34:19
Comentarios

Gracias por la respuesta Rarst. Fue un poco más extremo de lo que necesitaba, al final solo necesité reemplazar una instancia de SET NAMES latin1 con SET NAMES utf8 y reimportar la base de datos explícitamente como UTF8.

Evan Wondrasek Evan Wondrasek
6 mar 2011 01:18:39
0

Transfiero los archivos de mi sitio web de un directorio antiguo a uno nuevo y pude modificar:

define('DB_CHARSET', 'utf8mb4');

a

define('DB_CHARSET', 'utf8');

Y esto resolvió el problema de los espacios en blanco con diamantes negros.

3 ene 2016 22:15:21