Cómo convertir el juego de caracteres y la colación de la base de datos de WordPress

Desde WordPress 2.2, WordPress apoya la característica que permite que el usuario defina el juego de caracteres y la colación de la base de datos de WordPress con valores de DB_CHARSET y de DB_COLLATE en archivo de wp-config.php. Con estos valores definidos, WordPress utilizará el juego de caracteres señalado de la base de datos (charset) y la colación de la base de datos (es decir orden de la clase de las letras, de los números, y de los símbolos de un juego de caracteres) cuando las tablas de una base de datos de conexión.

Sin embargo, en las instalaciones existentes de WordPress que se aumentan de la versión anterior de WordPress o fijan no explícitamente una colación del charset de Unicode UTF-8, el juego de caracteres de la base de datos del defecto se fija normalmente como Latin1 (defecto en casi toda la instalación de MySQL) con la colación de latin1_swedish_ci. Si usted funciona un blog bilingüe o multilingüe con WordPress, usted puede hacer frente a problema en la codificación del carácter cuando sus postes del blog se escriben en otros idiomas extranjeros, o cuando usted exporta y respaldo la base de datos y la tentativa posterior de reimportar la descarga de la base de datos en caso de falta de la base de datos o migración y mudanza del servidor. ¿El síntoma es obvio, sus postes de WordPress o las páginas quieren contienen los caracteres mutilados, extraños y divertidos, alguna vez apenas porciones de????? (signos de interrogación), haciendo la base de datos de WordPress con su trabajo duro inútil y la salida ilegible. (Causa de mayo también por la colación incorrecta del charset)

La mejor solución al problema de la codificación del carácter en WordPress es convertir el charset o la base de datos y la colación a UTF-8 o a Unicode. Sin embargo, usted NO PUEDE conectar simplemente con MySQL vía cáscara o el phpMyAdmin y esperar todas sus escrituras convertirán agradable. Como explican por la guía de la conversión de la base de datos de WordPress, los juegos de caracteres del convertido requieren usando el MySQL ALTERAN comando de la TABLA. ¡Al convertir los juegos de caracteres, todos los campos del TEXTO (y similar) se convierten a UTF-8, pero esa conversión ROMPERÁ EL TEXTO existente porque la conversión espera que los datos estén en latin1, pero WordPress pudo haber almacenado caracteres del unicode en una base de datos latin1, y consecuentemente, los datos podrían terminar para arriba como basura después de una conversión!

La guía proporciona una guía muy áspera y vaga como solución en cómo convertir realmente las tablas de base de datos de WordPress MySQL a partir de un juego de caracteres a otro, generalmente UTF-8. Sin embargo, la guía trabaja realmente, aunque el proceso pueda ser muy largo. Para convertir, los pasos implicados generalmente son alterar cada TEXTO y campos relacionados dentro de las tablas de cada WP al BLOB, después alteran el juego de caracteres de la base de datos y finalmente cambian los campos del BLOB de nuevo al TEXTO. ¿Parece fácil, pero cuánto tiempo él tomaría para convertir tan muchos campos en tan muchas tablas? Además, usted también necesitará recordar el tipo y la longitud o los valores originales de todos los campos.

el andersapt ha fijado una escritura de la conversión nombrada convert_to_utf8_sql_generator.txt que genera automáticamente una lista de declaraciones de SQL y los comandos necesitan convertir completamente su base de datos de WordPress a UTF8 basado en la guía. Sin embargo, parece haber un insecto de menor importancia con la escritura, aunque el autor la demandara lo trabajara, donde en mi caso, no genere simplemente la lista de comandos de SQL de funcionar debido error no recuperable del PHP del error : Llame a los get_results de una función del miembro () en un no-objeto en convert.php en la línea 37 . Una vez que está fijado, con esta escritura a disposición nosotros puede convertir fácilmente y rápidamente la base de datos, las tablas y los campos para utilizar la colación de utf8_general_ci.

Nota: He probado el convertidor de la base de datos UTF-8 enchufable, pero es una falta. Parecía como el cambio del autor al juego de caracteres directamente.

Guía para convertir el juego de caracteres de la base de datos de WordPress a UTF8 (Unicode)

  1. Tome el blog de WordPress fuera de línea colocando un aviso fuera de servicio o del mantenimiento.
  2. Base de datos de reserva - esto es muy importante, nada se garantiza para trabajar. Si usted está utilizando el cPanel o el otro panel de control, es el mejor realizar un respaldo del panel de control sí mismo de la base de datos, donde usted puede restaurar la base de datos en una sola pieza en vez por de declaraciones de SQL, en el caso de descarga normal.
  3. Transfiera la escritura fija de convert_to_utf8_sql_generator.txt y ahórrela con una extensión del PHP.
  4. Modifique la escritura para entrar el nombre de base de datos que su blog de WordPress está utilizando. Localice el texto siguiente:

    Tables_in_DATABASENAME

    El DATABASENAME en rojo es la única cosa que usted necesita cambiar para emparejar su nombre de base de datos de WordPress. Debe los parecer esto después de cambio, por ejemplo,

    Tables_in_wp_mydigitallife

  5. Cargue el convert_to_utf8_sql_generator.php (o le puede retitular a un nombre más corto tal como convert.php) al directorio de instalación bajo de WordPress de la raíz, donde wp-config.php también se localiza.
  6. Ahora, la llamada y hojea la escritura de cualquier web browser. Para hacer esto, para agregar simplemente convert_to_utf8_sql_generator.php (o cualquie nombre que usted dé a la escritura) al extremo de su URL del blog (es decir http://www.mywebsite.com/convert_to_utf8_sql_generator.php) y presiona entra. Una lista larga de declaraciones de SQL será generada en el Web page.
  7. Asegúrese de que NO LO HAGAN sus campos post_content y del poste del título en la tabla de los wp_posts pertenezcan a ninguna índices o a índices CON TEXTO COMPLETO. El tipo de los campos no se puede convertir al BLOB con uno de la lista de errores abajo. Algunos enchufes, tales como postes relacionados tienden a agregar índices a estos campos. En este caso, caiga temporalmente los índices.

    ERROR 1170 (42000): Post_content del `de la columna de BLOB/TEXT usado en la especificación dominante sin una longitud dominante

    ERROR 1283 (HY000): El post_content del `de la columna no puede ser parte del índice CON TEXTO COMPLETO

  8. Ábrase una sesión a su cáscara del servidor por el telnet o SSH. Usted puede saltar esta parte de usar la cáscara de Unix si usted se prepone utilizar phpMyAdmin para hacer el trabajo sucio, pero no lo he intentado. Tan si usted hace, hacer la regeneración encendido si puede ser hecha.
  9. Conecte con el servidor de MySQL de la cáscara.
  10. Publique el comando siguiente primero en el aviso de MySQL:

    utilice DATABASENAME;

    Una vez más substituya DATABASENAME en rojo al nombre de base de datos real de WordPress.

  11. Entonces la copia y pega la lista entera de automóvil de las declaraciones de SQL generado por la escritura de la conversión, y los pega en el aviso de MySQL. Cada comando de SQL se debe ahora procesar y ejecutar por MySQL uno por uno. Usted puede necesitar presiona incorpora llave para acabar apagado el pasado.
  12. Durante el proceso, los mensajes de error similares relacionados con la longitud dominante como mencionado pueden aparecen. En mi caso, la conversión al BLOB falló con tal mensaje en los campos siguientes:

    wp_categories.category_nicename
    wp_comments.com ment_approved
    wp_links.link_visible
    wp_options.option_name
    wp_postmeta.meta_key
    wp_posts.post_status
    wp_posts.post_name
    wp_posts.post_type
    wp_usermeta.meta_key
    wp_users.user_login

    Todos estos campos son inverosímiles contienen los caracteres no-ASCII. Y los campos tales como category_nicename (lingote de la categoría) y post_name (lingote del poste) han sido URL codificados (donde su URL con los caracteres no-alfanuméricos inseguros será substituido por una muestra del por ciento (%) seguida por dos dígitos y espacios del maleficio codificados como más (+) muestras). La codificación inicial de los códigos del octeto y de las asignaciones del carácter para UTF-8 es constante con el ASCII, así que la conversión directa de estos campos a UTF8 no debe traer demasiado problema.

  13. Corrija el archivo de wp-config.php para agregar en definiciones de DB_CHARSET y de DB_COLLATE. Agregue las dos líneas siguientes, preferiblemente bajo sección de los ajustes de MySQL:

    defina (' del `utf8 de DB_CHARSET',);
    defina ('DB_COLLATE', ");

    Según lo explicado en el códice de WordPress, DB_COLLATE se deja en blanco (falta de información) de modo que la colación de la base de datos sea asignada automáticamente por MySQL basado en el juego de caracteres de la base de datos.

  14. Reconstruya los índices y/o los índices CON TEXTO COMPLETO caído, si cualquiera.
  15. Active el blog nuevamente dentro de modo de producción.
  16. Compruebe su blog para ver si todo y cada los caracteres es aceptable.
  17. Suprima la escritura del PHP.

IMPORTANTE: La página es traducida por computador y con tal que como está sin garantía. La traducción automática puede ser difícil de entender. Refiera por favor al artículo inglés original siempre que sea posible.


26 respuestas a cómo convertir el juego de caracteres y la colación de la base de datos de WordPress

Páginas: 2 [1] demuestran todos

  1. Dumpfiles de MySQL de la mezclado-codificación de la fijación con WordPress
    27 de mayo de 2009 12:20
    25

    [...] Cómo convertir el juego de caracteres y la colación de la base de datos de WordPress - mi vida [...] de Digitaces

  2. Individuo
    13 de abril de 2009 22:11
    24

    Tengo el exacto el mismo problema que Stephanie. Mis viejos postes subirán fijo, pero todos mis nuevos postes (hechos después de la mejora que causó los problemas de la codificación en el primer lugar) que tienen caracteres como é o cotizaciones rizadas serán truncados. Es como la conversión detrás no sabe cuál hacer con estos caracteres y apenas no termina el proceso allí. ¿Idea qué pudo causar eso?

  3. Stephanie receloso
    25 de marzo de 2009 02:56
    23

    ¡Gracias por la guía! Encontré que tuve que quitar los índices de algunas columnas antes de que podría funcionar con algunas de las preguntas, y tuve que agregar el texto a las declaraciones de la TABLA de la ALTERACIÓN, como tan:

    ALTERE los wp_comments de la TABLA MODIFICAN EL JUEGO DE CARACTERES latin1 del TEXTO del comment_author COMPAGINAN latin1_swedish_ci;

    Sin embargo, después de que todas las preguntas hubieran acabado, terminé para arriba con el mismo resultado que hice con g30rg3_x enchufable: todos los postes y páginas fueron truncados, generalmente en la primera cotización rizada. ¿Sugerencias para conseguir alrededor de esto?

  4. el blog del flammeri nunca toca un sistema corriente
    25 de febrero de 2009 22:32
    22

    El bessere Zeiten del schon de Zeichensatz del der del sombrero de [...] Dummerweise gesehen el und así que el alle Beiträge del sind, muere anstelle von Umlauten mit del dieser del als del sind del älter hässlichen el verziert de Fragezeichen. Sich del fand de Teillösung del entsprechende de Eine más hier. [...]

  5. Morten
    30 de diciembre de 2008 07:52
    21

    ¡Agradece mucho - que era una gran ayuda!

  6. Ahora con más UTF | ¡Lingotes de mar! Blog del Anime
    6 de diciembre de 2008 23:50
    20

    [...] Entonces utilicé el WP-DBManager para sostener la base de datos. Después de este paso, usted puede cualquier hacer cosas la manera dura, o la manera fácil. Escogí la manera fácil, y si usted quiere un cierto fondo Info sobre este enchufable, [...]

  7. Rodeo del blog para el 22do del junio de 2007:: Christopher Ross
    27 de octubre de 2008 09:10
    19

    [...] consiguen mucho de los lanzamientos del tema de WordPress para 6/22. WordPress enchufable: El acceso de la categoría era gratificante. Cómo convertir el juego de caracteres y la colación de la base de datos de WordPress era magnífico. ¿También heché una ojeada más en Cristo? s sobrenaturales [...]

  8. El caminar muerto del hombre
    24 de octubre de 2008 21:08
    18

    Convengo con Chris, él soy el tener que molesto colocarse para su foro apenas para transferir el archivo. Si tenemos un problema, podemos entonces ir al foro.

  9. something2
    24 de julio de 2008 18:53
    17

    He cargado una escritura extendida al hilo de rosca. Maneja casos donde están utf8 las tablas y las columnas pero el interior de las secuencias es latin1. Esto sucede cuando las tablas se crean como utf8 pero el wp-config.php está faltando variables de DB_CHARSET y de DB_COLLATE.

  10. @ una distancia UTF-8
    19 de junio de 2008 12:19
    16

    [...] con la localización de averías de la aplicación no capaz de utilizar las 2 líneas en el archivo de wp-config.php. Intentó este método, pero no trabajó. Entonces leí encima de la idea de convertir el SQL en un editor de textos. [...]

  11. Acoplamientos para festival 2008-03-30 [del.icio.us] BD-Comminges
    31 de marzo de 2008 13:09
    15

    [...] Cómo convertir el juego de caracteres y la colación de la guía de la base de datos de WordPress para convertir el juego de caracteres de la base de datos de WordPress a UTF8 (Unicode) - mi vida [...] de Digitaces

  12. Larry Hirscg
    19 de marzo de 2008 03:32
    14

    Debo aplaudirle para publicar esto. Después de horas de búsqueda para una solución fácil, cuando mi abastecedor movió mi base de datos a una plataforma aumentada, podía seguir sus instrucciones y y conseguir el juego de caracteres cambió. Utilicé el phpmyadmin para ejecutar el código y suprimí las líneas que tenían errores. Funcionó perfectamente y necesité solamente corregir algunos lingotes que tenían carácter impar en ellos. ¡Fabuloso!

  13. // si no tengo absolutamente nada decir: 2008030101
    2 de marzo de 2008 01:52
    13

    ¿[...] Cómo convertir el juego de caracteres y la colación de la base de datos de los wordpress? Â [...]

  14. Los medios enviciaron
    27 de febrero de 2008 01:20
    12

    Estoy utilizando PHPmyAdmin e intento convertir mi base de datos a utf-8, pero las interrupciones de PHPmA el proceso con el primer mensaje de error (longitud dominante concering según lo mencionado en guía del ur).

    ¿Hay una manera de hacer que PHPmA no hace caso de los errores/para proceder las otras tablas?

    ¡Thx por adelantado!

  15. Sergio Nascimento
    14 de diciembre de 2007 03:05
    11

    Hola, trabajó muy bien para mí usando MyPHPAdmin.

    Gracias por el artículo.

  16. ¡Detrás en pista! | costa del AIA * el lado del friki
    19 de noviembre de 2007 03:35
    10

    branco deixar del em de los constantes DB_CHARSET e DB_COLLATE del das de los valores del OS del ficheiro wp-config.php e de [...]. Convertidor del é del solução de Outra un toda bajo para UTF-8, soa de de dados del já de para mim del que de o un [...]

  17. Soluci de Octaedro Una
    17 de noviembre de 2007 07:55
    9

    [...] Ponga, que del algo del heno del siempre yo va un desconfigurado del salir: el los fija comentarios de o los. Él probado

  18. Isotipo
    29 de septiembre de 2007 03:23
    8

    [...] la codificación de acentos, funcionara del que de para de los símbolos del ñ y bien. Bbdd indica del tu del convertir de para de los pasos del los del que del artículo del este del recomiendo de los problemas de Para un codificación [...]

  19. admin
    16 de septiembre de 2007 03:59
    7

    Hola Chris, apesadumbrado para las inconveniencias, es de modo que los usuarios puedan discutir cualquier insecto en la escritura en el foro cuando estén necesitados.

  20. del problema y solución del charset de Wordpress archivo del blog de curo.dk
    16 de septiembre de 2007 03:15
    6

    [...] para convertir mi base de datos a UTF8 así que a mi blog no parece divertido. El enchufable no trabajó, otro sitio requiere el registro (cómo hoja de metal), así que subí con mi propia solución que es BESO todos los [...]

  21. Chris
    16 de septiembre de 2007 02:04
    5

    ¿Por qué usted apenas no liga el archivo directamente aquí?

    Es dolor a colocarse apenas para transferir el archivo.

  22. Wordpress 2.2 UTF Konvertierung | Blog [AMIGOS] v2
    4 de septiembre de 2007 18:57
    4

    [...] mueren Schnauze. El passende Konvertierungsanleitung del eine del noch del doch del dann del ich Ende del konnte de Suche del der del bei de Hartnäckigkeit del mehr de los etwas del Mit finden, muere el hinweist enchufable del fehlerhafte del auf das del sowohl de Weise del und del arte del mystische del auf, als auch muere [...]

  23. Cómo a la clase particular de reserva y del restablecimiento (exportación e importación) de MySQL de las bases de datos mi vida de Digitaces
    21 de julio de 2007 15:33
    3

    [...] Si este caso, uso - opción del default-character-set=charset_name para especificar el juego de caracteres o para convertir la base de datos a UTF8. Consiga la ayuda o contribuya las extremidades o los trucos en mi vida [...] de Digitaces

  24. archivo Wordpress 2.1 del fotizo del blog - > 2.2.1
    11 de julio de 2007 16:00
    2

    de [...] MySQL, sistema del , . . . (5: 00) , del 2.2.1 del 2.1 del WP del , de la escritura del del DB del , DB [...] del SQL del

  25. g30rg3_x
    23 de junio de 2007 04:27
    1

    Hola
    Tengo que decir (en mi favor) que m que no cambia directamente el juego de caracteres de la base de datos, repasa por favor mi enchufable y usted verá que primero convertirá su base de datos binaria y él a utf8 y finalmente pondrá todo como antes de la codificación pero obviamente con el juego de caracteres UTF-8

    Prefiero hacer y A.
    ALTERE AL CONVERTIDO del table_name de la TABLA al binario del JUEGO DE CARACTERES
    Que apenas haga una oración del mysql para cada campo del texto/de la secuencia, porque como usted puede ver los problemas viene con la llave y un cierto valor de índice y el tipo de campo del BLOB cambio.
    Convirtiendo verdad la oración que mi uso enchufable transformará todo el carbón de leña al binario, todo varchar a varbinary, a todo el texto (tynitext, texto, mediumtext, longtext) a sus representaciones binarias (tinyblob, gota, mediumblob, longblob) y finalmente apenas al enum y a los tipos fijados del sistema con el binario de la colación.

    Acabo de venir aquí decir que esto en favor y a propósito la mayoría de los problemas de mis enchufes está relacionada con las configuraciones del anfitrión y otras cosas que puedo controlar obviamente.

    BTW su un mejor a la solución evitar problemas de la llave y del índice apenas fijando la representación binaria correcta algo que usando gota adentro hasta el final.

    Saludos de México y apesadumbrado para todos los problemas del error de máquina.

Páginas: 2 [1] demuestran todos

Deje una contestación

Usted puede utilizar estas etiquetas: "" del title= del "" del href= del <a > "" del title= del <abbr > "" del title= del <acronym > "" del cite= del <blockquote del <b> > "" del datetime= del <del del <code> del <cite> > "" del cite= del <q del <i> del <em> > <strong> del <strike>

Suscriba a los comentarios que se ha inhabilitado la característica. Para recibir la notificación de los últimos comentarios fijados, suscriba a mi alimentación de los comentarios RSS de la vida de Digitaces o el registro para recibir nuevos comentarios en email diario digiere.
Custom Search

Nuevos artículos

Términos entrantes de la búsqueda para el artículo

la colación del cambio del phpmyadmin - colación del convertido de MySQL - juego de caracteres del convertido del mysql - colación del convertido - codificación del convertido del mysql - charset del convertido del mysql - oráculo COMPAGINA - charset del convertido - al convertido del PHP que los caracteres - convertido del mysql - cambian el phpmyadmin de la colación - juego de caracteres del phpmyadmin - colación de los wordpress - colación de la tabla del cambio del phpmyadmin - charset de los wordpress - wordpress latin1_swedish_ci - el convertido utf8 - juego de caracteres del mysql del convertido del oráculo - codificación del cambio del phpmyadmin - convertido del oráculo - codificación de la base de datos del convertido del mysql - convertido de la colación - codificación de la tabla del convertido del mysql - mysql de la colación del convertido - juego de caracteres del convertido del PHP - codificación del carácter del convertido del mysql - juego de caracteres del oráculo - colación del phpmyadmin - la colación de la base de datos del cambio del phpmyadmin - convertido latin1_swedish_ci a utf8 - colación del mysql del convertido - convertido del mysql carácter - convertido compagine - charset de la base de datos del convertido del mysql - charset del convertido del PHP - los wordpress de latin1_swedish_ci - codificación del carácter del convertido del PHP - juego de caracteres - charset del convertido del sql - carbón de leña del convertido del mysql - codificación de la base de datos de los wordpress - chino del convertido del PHP del sql - convertidor del charset del mysql - cómo convertir el objeto del wpdb de la clase a la secuencia en PHP - phpmyadmin divertido de los caracteres - base de datos de los wordpress de latin1_swedish_ci - juego de caracteres de la base de datos del convertido del mysql - conversión de la colación del mysql - caracteres del convertido del mysql - el mysql de la colación del cambio - CONVERTIDO del mysql AL JUEGO DE CARACTERES - el juego de caracteres del convertido - colación del cambio del mysql para todas las tablas - la codificación del texto del convertido del PHP - convertido latin1 del PHP a utf8 - convierta el mysql de la colación de la tabla - convert_to_utf8_sql_generator.txt - cambio de la colación - charset de los wordpress el problema con el búlgaro - convertido de la base de datos de los wordpress - colación de la base de datos de los wordpress - codificación del carácter del convertido - el convertido latin1 - colación del PHP del cambio de los wordpress - la BASE DE DATOS A UTF8 - convertido del CONVERTIDO de MySQL al unicode - el convertido auto latin1 a la función del PHP del mysql utf-8 - nombre de base de datos de los wordpress - charset del mysql del convertido - colación del cambio del mysql - mysql no puede ser parte de la codificación de la base de datos del cambio del mysql del índice CON TEXTO COMPLETO - los juegos de caracteres de los wordpress - - colación del oráculo - latin1_swedish_ci a utf8 -