Comment convertir le jeu de caractères et le classement de la base de données de WordPress

Depuis WordPress 2.2, WordPress soutient le dispositif qui permet à l'utilisateur de définir tous les deux Jeu de caractères et collation de base de données de WordPress avec des valeurs de DB_CHARSET et de DB_COLLATE dans wp-config.php classez. Ces valeurs étant défini, WordPress emploiera le characterset indiqué de base de données (charset) et la collation de base de données (c.-à-d. ordre de sorte des lettres, des nombres, et des symboles d'un jeu de caractères) quand les tables se reliantes d'une base de données.

Cependant, dans les installations existantes de WordPress qui sont améliorées d'une version plus tôt de WordPress ou placent pas explicitement une collation de charset d'Unicode UTF-8, le jeu de caractères de base de données de défaut est normalement installé comme Latin1 (défaut sur presque toute l'installation de MySQL) avec la collation de latin1_swedish_ci. Si vous courez un blog bilingue ou multilingue avec WordPress, vous pouvez faire face au problème sur le codage de caractère quand vos poteaux de blog sont écrits en d'autres langues étrangères, ou quand vous exportez et protection la base de données et la tentative postérieure de réimporter la décharge de base de données en cas de l'échec de base de données ou la migration et se déplacer de serveur. Le symptôme est évident, vos poteaux de WordPress ou les pages veulent contient les caractères déformés, étranges et drôles, sorts autrefois justes du ????? (points d'interrogation), rendant la base de données de WordPress avec votre travail dur inutile et rendement illisible. (cause de mai également près collation fausse de charset)

La meilleure solution au problème de codage de caractère dans WordPress est de convertir le charset ou la base de données et la collation en UTF-8 ou Unicode. Cependant, vous NE POUVEZ PAS simplement vous relier à MySQL par l'intermédiaire de coquille ou le phpMyAdmin et espérer tous vos manuscrits convertiront bien. Comme expliquent près Guide de conversion de base de données de WordPress, les jeux de caractères de converti exige en utilisant le le MySQL CHANGENT la commande de TABLEAU. En convertissant les jeux de caractères, tous les gisements des TEXTES (et semblable) sont convertis en UTF-8, mais cette conversion CASSERA LE TEXTE existant parce que la conversion s'attend à ce que les données soient dans latin1, mais WordPress a pu avoir stocké des caractères d'unicode dans une base de données latin1, et en conséquence, les données pourraient finir vers le haut comme ordures après une conversion !

Le guide fournit un guide très approximatif et vague comme solution sur la façon dont convertir réellement des tables de base de données de WordPress MySQL d'un jeu de caractères à l'autre, habituellement UTF-8. Cependant, le guide fonctionne réellement, bien que le processus puisse être prolongé. Pour convertir, les étapes impliquées généralement sont de changer chaque TEXTE et champs relatifs à l'intérieur des tables de chaque wp à la GOUTTE, puis changent le jeu de caractères de la base de données et changent finalement les champs de GOUTTE de nouveau au TEXTE. Regarde facile, mais combien de temps il prendrait au converti tant de champs sur tant de tables ? En outre, vous devrez également vous rappeler le type et la longueur ou les valeurs originale de tous les champs.

andersapt a signalé un manuscrit de conversion appelé convert_to_utf8_sql_generator.txt ce qui produit automatiquement d'une liste de rapports et de commandes de SQL devez convertir entièrement votre base de données de WordPress en UTF8 basé sur le guide. Cependant, il semble y a un bogue mineur avec le manuscrit, bien que l'auteur l'ait réclamé l'ait travaillé, où dans mon cas, simplement won’t produisent de la liste de commandes de SQL de courir en raison de l'erreur mortelle de l'erreur “PHP : Appelez à un get_results() de fonction de membre sur un non-objet dans convert.php sur la ligne 37″ ;. Une fois que fixé, avec ce manuscrit nous peut à disposition facilement et rapidement convertir la base de données, les tables et les champs en collation de l'utilisation utf8_general_ci.

Note : J'ai essayé Convertisseur de la base de données UTF-8 plugin, mais it’s un échec. Il a semblé comme le changement d'auteur au jeu de caractères directement.

Guide de jeu de caractères de base de données de WordPress de converti à UTF8 (Unicode)

  1. Prenez le blog de WordPress en différé en plaçant une notification hors service ou d'entretien.
  2. Base de données de secours - c'est très important, rien est garanti de fonctionner. Si you’re en utilisant le PANNEAU ou tout autre panneau de commande, it’s mieux pour exécuter une protection de base de données du panneau de commande elle-même, où vous pouvez reconstituer la base de données dans l'une seule pièce au lieu de par des rapports de SQL, dans le cas de la décharge normale.
  3. Téléchargez le fixe convert_to_utf8_sql_generator.txt manuscrit et économiser lui avec une prolongation de PHP.
  4. Modifiez le manuscrit pour entrer le nom de base de données que votre blog de WordPress emploie. Localisez le texte suivant :

    Tables_in _DATABASENAME

    Le DATABASENAME dans le rouge est la seule chose dont vous avez besoin pour changer en allumette votre nom de base de données de WordPress. Il si les ressembler à ceci après changement, par exemple,

    Tables_in_wp_mydigitallife

  5. Téléchargez le convert_to_utf8_sql_generator.php (ou vous peut retitrer à un nom plus court tel que convert.php) à l'annuaire bas d'installation de WordPress de racine, où wp-config.php est également localisé.
  6. Maintenant, l'appel et passent en revue le manuscrit de n'importe quel navigateur d'enchaînement. Faire ceci, pour ajouter simplement convert_to_utf8_sql_generator.php (ou tout nom que vous donnez au manuscrit) à l'extrémité de votre URL de blog (c.-à-d. http://www.mywebsite.com/convert_to_utf8_sql_generator.php) et pression entrent. Une longue liste de rapports de SQL sera produite sur la page Web.
  7. Assurez-vous que vos champs post_content et de poteau de titre sur la table de wp_posts PAS n'appartient à aucun index ou à index À TEXTE INTÉGRAL. Le type des champs ne peut être converti autrement en GOUTTE avec une de la liste d'erreurs ci-dessous. Quelques plugins, tels que les poteaux relatifs tendent à ajouter des index à ces champs. Dans ce cas-ci, laissez tomber temporairement les index.

    ERREUR 1170 (42000) : Colonne ‘post_content’ de BLOB/TEXT ; utilisé dans les spécifications principales sans longueur principale

    ERREUR 1283 (HY000) : Colonne ‘post_content’ ; ne peut pas faire partie d'index À TEXTE INTÉGRAL

  8. Ouverture à votre coquille de serveur par Telnet ou SSH. Vous pouvez sauter la présente partie d'employer la coquille d'Unix si vous avez l'intention d'employer le phpMyAdmin pour effectuer le travail sale, mais le démuni de I l'a essayé. Ainsi si vous , faire la rétroaction dessus si elle peut être faite.
  9. Reliez au serveur de MySQL de la coquille.
  10. Publiez la commande suivante d'abord dans le message de sollicitation de MySQL :

    employez DATABASENAME;

    Encore, remplacez DATABASENAME dans le rouge au nom réel de base de données de WordPress.

  11. Puis la copie et collent la liste entière d'automobile de rapports de SQL produite par le manuscrit de conversion, et les collent dans le message de sollicitation de MySQL. Chaque commande de SQL devrait maintenant être traitée et exécutée par MySQL un. Vous pouvez devoir serrer écrivez la clef pour finir outre de dernière.
  12. Pendant le traitement, les messages d'erreur semblables liés à la longueur principale en tant que mentionné peuvent apparaît. Dans mon cas, la conversion en GOUTTE a échoué avec un tel message dans les domaines suivants :

    wp_categories.category_nicename
    wp_comments.comment_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

    Tous ces champs sont peu probables contient des caractères de non-ASCII. Et les champs tels que le category_nicename (lingot de catégorie) et le post_name (lingot de poteau) ont été URL codés (où votre URL avec les caractères non-alphanumériques peu sûrs sera remplacé avec un signe de pour cent (%) suivi de deux chiffres et espaces de sortilège codés comme plus (+) des signes). Le codage initial des codes de byte et des tâches de caractère pour UTF-8 est conformé à l'ASCII, ainsi la conversion directe de ces champs en UTF8 ne devrait pas apporter trop de problème.

  13. Éditez le dossier de wp-config.php pour s'ajouter dans des définitions de DB_CHARSET et de DB_COLLATE. Ajoutez les deux lignes suivantes, de préférence sous la section des arrangements de MySQL :

    define(’DB_CHARSET’ ;, ‘utf8′ ;) ;
    define(’DB_COLLATE’ ;, ” ;) ;

    Comme expliqué dedans Codex De WordPress, DB_COLLATE est laissé blanc (nulle) de sorte que la collation de base de données soit automatiquement assignée par MySQL basé sur le jeu de caractères de base de données.

  14. En recréez les index et/ou les index À TEXTE INTÉGRAL laissé tomber, si.
  15. Activez le blog de nouveau dans le mode de production.
  16. Vérifiez votre blog pour voir si tout et chaque des caractères est correct.
  17. Supprimez le manuscrit de PHP.

IMPORTANT: Vous lisez une page traduite par ordinateur qui est fournie "comme est" sans garantie. À la différence de la traduction humaine, la traduction automatique ne comprend pas la grammaire, sémantique, la syntaxe, idiomes de langage naturel, ainsi produit souvent le texte de mauvaise qualité imprécise et qui est fallacieux et incompréhensible. Ainsi, référez-vous svp à l'article anglais original autant que possible.

Les postings de blog de MDL continuent maintenant à Bout et tour, et les lecteurs sont bienvenus pour se joindre Mes Forum De la Vie De Digital.


15 réponses à “How au jeu de caractères de converti et à la collation de WordPress Database” ;

  1. g30rg3_x
    Le 23 juin, 2007 04:27
    1

    Hi… ;
    Je dois dire (en ma faveur) que m ne changeant pas directement le jeu de caractères de base de données, passent en revue svp mon plugin et vous verrez que d'abord il convertira votre base de données binaire et elles à utf8 et finalement il mettront tout comme avant le codage mais évidemment avec UTF-8 le caractère set… ;

    Je préfère faire et a..
    CHANGEZ LE CONVERTI de table_name de TABLEAU AU JEU DE CARACTÈRES binaire
    Que faites juste une phrase de mysql pour chaque champ de text/string, parce que comme vous pouvez voir les problèmes vient avec la clef et une certaine valeur d'index et le type de champ de GOUTTE changement.
    Vérité convertissante la phrase que ma utilisation plugin transformera tout le char à binaire, à tout varchar à varbinary, à tout le texte (tynitext, texte, mediumtext, longtext) à ses représentations binaires (tinyblob, goutte, mediumblob, longblob) et finalement juste à enum et à types réglés d'ensemble avec la collation binaire.

    Je juste suis venu ici pour dire que ceci en faveur et d'ailleurs la majorité des problèmes de mes plugins sont liées aux configurations de centre serveur et à d'autres choses qu'évidemment je peux commander.

    BTW son un meilleur à la solution d'éviter des problèmes de clef et d'index par l'arrangement juste la goutte binaire correcte de représentation plutôt que d'en utilisant de toute la manière.

    Salutations du Mexique et désolé pour tous les problèmes mistyping.

  2. ??? de fotizo Archives "Wordpress 2.1" De Blog - > 2.2.1
    Le 11 juillet, 2007 16:00
    2

    [... ] ??????????? de MySQL placez le ???????? ?????????? (de 5:00) Wp ? 2.1 ? ? 2.2.1 ????? DB ? ????? de manuscrit DB de SQL [... ]

  3. Comment au cours d'instruction de bases de données de MySQL de protection et de restauration (exportation et importation)"ma vie de Digital
    Le 21 juillet, 2007 15:33
    3

    [... ] Si ce cas, emploient l'option de –default-character-set=charset_name pour indiquer le jeu de caractères ou pour convertir la base de données en UTF8. Obtenez l'aide ou contribuez les bouts ou les tours à ma vie de Digital [... ]

  4. Wordpress 2.2 UTF Konvertierung | Blog[CHA ] v2
    Le 4 septembre, 2007 18:57
    4

    [... ] matrice Schnauze. Le passende Konvertierungsanleitung d'eine de noch de doch de dann de l'ich AM Ende de konnte de Suche de der de bei de Hartnäckigkeit de mehr d'etwas de MIT finden, hinweist plugin de fehlerhafte de das d'auf de sowohl de Weise d'und d'art de mystische d'auf de matrice, matrice d'Auch d'als [... ]

  5. Chris
    Le 16 septembre, 2007 02:04
    5

    Pourquoi don’t vous lien juste le dossier directement ici ?

    C'est douleur à enregistrer juste pour télécharger le dossier.

  6. problème et solution de charset de Wordpress d'archives de curo.dk "Blog"
    Le 16 septembre, 2007 03:15
    6

    [... ] pour convertir ma base de données en UTF8 ainsi mon sembler du blog doesn’t drôle. Le travail plugin de didn’t, un autre emplacement exige l'enregistrement (comment boiteux), ainsi j'ai fourni ma propre solution qui est BAISER tout le [... ]

  7. admin
    Le 16 septembre, 2007 03:59
    7

    Bonjour Chris, désolé pour les dérangements, it’s de sorte que les utilisateurs puissent discuter tous les bogues sur le manuscrit sur le forum une fois nécessaires.

  8. Isotipo
    Le 29 septembre, 2007 03:23
    8

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

  9. Soluci d'Octaedro "Una
    Le 17 novembre, 2007 07:55
    9

    [... ] ponga, que d'algo de foin de siempre je la Virginie un desconfigurado de salir : comentarios de los des poteaux o de los. Il probado

  10. En arrière sur la voie ! | costa d'isa * le côté de geek
    Le 19 novembre, 2007 03:35
    10

    [... ] branco deixar de fin de support des constantes DB_CHARSET e DB_COLLATE de das de valores d'OS du ficheiro wp-config.php e. Convertisseur de é d'Outra solução un toda bas Para. UTF-8, soa a de de dados de já de Para. mim de que de o [... ]

  11. Sergio Nascimento
    Le 14 décembre, 2007 03:05
    11

    Bonjour, cela a fonctionné très bien pour moi employant MyPHPAdmin.

    Merci pour l'article.

  12. Médias Intoxiqués
    Le 27 février, 2008 01:20
    12

    I’m en utilisant PHPmyAdmin et essai pour convertir ma base de données en utf-8, but…PHPmA interrompt le processus avec le premier message d'erreur (longueur principale concering comme mentionné du guide d'ur).

    Y a-t-il une manière de faire PHPmA ignorer des erreurs/pour procéder les autres tables ?

    Thx à l'avance !

  13. //si je n'ai absolument rien à dire : 2008030101
    Le 2 mars, 2008 01:52
    13

    [... ] Comment convertir le jeu de caractères et la collation du database? de wordpress [... ]

  14. Larry Hirscg
    Le 19 mars, 2008 03:32
    14

    Je dois vous applaudir pour éditer ceci. Après des heures de rechercher une solution facile, quand mon fournisseur a déplacé ma base de données à une plateforme "améliorée", je pouvais suivre vos instructions et et obtenir le jeu de caractères a changé. J'avais l'habitude le phpmyadmin pour exécuter le code et ai supprimé les lignes qui ont eu des erreurs. Il a fonctionné parfaitement et j'ai seulement dû éditer quelques lingots qui ont eu le caractère impair dans eux. Fabuleux !

  15. Liens pour "festival 2008-03-30 [ del.icio.us ] BD-Comminges
    Le 31 mars, 2008 13:09
    15

    [... ] Comment convertir le jeu de caractères et la collation du guide de base de données de WordPress du jeu de caractères de base de données de WordPress de converti en UTF8 (Unicode) — ; "Ma Vie De Digital [... ]

Laissez une réponse

Vous pouvez employer ces étiquettes : < un href = "" titre = "" > < titre d'abbr = "" > < titre d'acronymes = "" > blockquote d'< b > < citent = "" > < citent > l'< code > < del datetime = "" > < fin de support > < l'i> < q citent = "" > < grève > < forte >

Souscrivez sans commentaire



Limites entrantes de recherche pour l'article

collation de changement de phpmyadmin - Collation de converti de MySQL - jeu de caractères de converti de mysql - collation de converti - codage de converti de mysql - charset de converti de mysql - l'oracle ASSEMBLENT - charset de converti - caractères de converti de php - converti de mysql - changez le phpmyadmin de collation - jeu de caractères de phpmyadmin - collation de wordpress - collation de table de changement de phpmyadmin - charset de wordpress - wordpress latin1_swedish_ci - converti utf8 de mysql - jeu de caractères de converti d'oracle - codage de changement de phpmyadmin - converti d'oracle - codage de base de données de converti de mysql - converti de collation - codage de table de converti de mysql - mysql de collation de converti - jeu de caractères de converti de php - codage de caractère de converti de mysql - jeu de caractères d'oracle - collation de phpmyadmin - collation de base de données de changement de phpmyadmin - converti latin1_swedish_ci à utf8 - collation de mysql de converti - caractère de converti de mysql - le converti assemblent - charset de base de données de converti de mysql - charset de converti de php - wordpress de latin1_swedish_ci - codage de caractère de converti de php - characterset - charset de converti de SQL - char de converti de mysql - codage de base de données de wordpress - Chinois de converti de php de SQL - convertisseur de charset de mysql - comment convertir l'objet du wpdb de classe en corde dans le php - phpmyadmin drôle de caractères - base de données de wordpress de latin1_swedish_ci - jeu de caractères de base de données de converti de mysql - conversion de collation de mysql - caractères de converti de mysql - changez le mysql de collation - CONVERTI de mysql AU JEU DE CARACTÈRES - jeu de caractères de converti - collation de changement de mysql pour toutes les tables - codage des textes de converti de php - converti latin1 de php à utf8 - mysql de collation de table de converti - convert_to_utf8_sql_generator.txt - changement de collation - problème de charset de wordpress avec le Bulgare - converti de base de données de wordpress - collation de base de données de wordpress - codage de caractère de converti - converti latin1 de php - collation de changement de wordpress - BASE DE DONNÉES DE CONVERTI À UTF8 - Converti de MySQL à l'unicode - converti automatique latin1 à la fonction de php du mysql utf-8 - nom de base de données de wordpress - charset de mysql de converti - collation de changement de mysql - le mysql "ne peut pas faire partie d'index À TEXTE INTÉGRAL" - jeux de caractères de wordpress - codage de base de données de changement de mysql - collation d'oracle - latin1_swedish_ci à utf8 -