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)
- Prenez le blog de WordPress en différé en plaçant une notification hors service ou d'entretien.
- 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.
- Téléchargez le fixe convert_to_utf8_sql_generator.txt manuscrit et économiser lui avec une prolongation de PHP.
- 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
- 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é.
- 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.
- 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
- 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.
- Reliez au serveur de MySQL de la coquille.
- 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.
- 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.
- 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_loginTous 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.
- É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.
- En recréez les index et/ou les index À TEXTE INTÉGRAL laissé tomber, si.
- Activez le blog de nouveau dans le mode de production.
- Vérifiez votre blog pour voir si tout et chaque des caractères est correct.
- 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.
Articles Relatifs
- Problème de codage de WordPress Charset après évolution à la version 2.2
- Comment aux bases de données de MySQL de protection et de restauration (exportation et importation) d'instruction
- IMP-00016 a exigé l'erreur non soutenue de conversion de jeu de caractères quand importation à la base de données d'oracle
- Erreur De l'Oracle EXP-00091 Quand Base de données D'Exportation
- WordPress 2.2 a libéré pour le téléchargement libre
- Vérifiez et optimisez la base de données de MySQL automatiquement avec Crontab/Cron
- Comment adapter aux besoins du client, modifiez ou changez la page d'erreur de raccordement de base de données de WordPress
- Candidat 1 (RC1) de dégagement de WordPress 2.3 de téléchargement l'appui de post-mod.
- Comment déplacer WordPress Blog au nouvel domaine ou endroit
- Erreur de question de WordPress MySQL SQL dans la classe de WPDB














Le 23 juin, 2007 04:27
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.
Le 11 juillet, 2007 16:00
[... ] ??????????? de MySQL placez le ???????? ?????????? (de 5:00) Wp ? 2.1 ? ? 2.2.1 ????? DB ? ????? de manuscrit DB de SQL [... ]
Le 21 juillet, 2007 15:33
[... ] 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 [... ]
Le 4 septembre, 2007 18:57
[... ] 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 [... ]
Le 16 septembre, 2007 02:04
Pourquoi don’t vous lien juste le dossier directement ici ?
C'est douleur à enregistrer juste pour télécharger le dossier.
Le 16 septembre, 2007 03:15
[... ] 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 [... ]
Le 16 septembre, 2007 03:59
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.
Le 29 septembre, 2007 03:23
[... ] 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 [... ]
Le 17 novembre, 2007 07:55
[... ] 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
Le 19 novembre, 2007 03:35
[... ] 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 [... ]
Le 14 décembre, 2007 03:05
Bonjour, cela a fonctionné très bien pour moi employant MyPHPAdmin.
Merci pour l'article.
Le 27 février, 2008 01:20
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 !
Le 2 mars, 2008 01:52
[... ] Comment convertir le jeu de caractères et la collation du database? de wordpress [... ]
Le 19 mars, 2008 03:32
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 !
Le 31 mars, 2008 13:09
[... ] 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 [... ]