Movable Type 3.35 で、データベースの文字コード latin1_swedish_ci を utf8_general_ci に変換する方法

MySQL で、latin1_swedish_ci を utf8_general_ci に変換する方法では、latin1_swedish_ci を utf8_general_ci に変換する方法を紹介した。 ここでは、実際に Movable Type 3.35 のデータベースが latin1_swedish_ci だった場合に、utf8_general_ci に変換する SQL 文を以下に挙げておく。データベース移行の際に役にたつこともあるかと思う。

注意点としては、この処理を実行したら、


<strong><font color="red">mt-config.cgi (場所はどの行でもかまわない)に SQLName 1</font>

と1行追加すること。

-- -------------------------------------------------------- -- -- テーブル `mt_author` -- ALTER TABLE `mt_author` MODIFY `author_name` binary(50), MODIFY `author_nickname` binary(50), MODIFY `author_password` binary(60), MODIFY `author_email` binary(75), MODIFY `author_url` binary(255), MODIFY `author_hint` binary(75), MODIFY `author_public_key` binary(65535), MODIFY `author_preferred_language` binary(50), MODIFY `author_remote_auth_username` binary(50), MODIFY `author_remote_auth_token` binary(50), MODIFY `author_api_password` binary(60), MODIFY `author_entry_prefs` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_blog` -- ALTER TABLE `mt_blog` MODIFY `blog_name` binary(255), MODIFY `blog_description` binary(65535), MODIFY `blog_site_path` binary(255), MODIFY `blog_site_url` binary(255), MODIFY `blog_archive_path` binary(255), MODIFY `blog_archive_url` binary(255), MODIFY `blog_archive_type` binary(255), MODIFY `blog_archive_type_preferred` binary(25), MODIFY `blog_language` binary(5), MODIFY `blog_file_extension` binary(10), MODIFY `blog_sort_order_posts` binary(8), MODIFY `blog_sort_order_comments` binary(8), MODIFY `blog_convert_paras` binary(30), MODIFY `blog_convert_paras_comments` binary(30), MODIFY `blog_ping_others` binary(65535), MODIFY `blog_mt_update_key` binary(30), MODIFY `blog_welcome_msg` binary(65535), MODIFY `blog_archive_tmpl_monthly` binary(255), MODIFY `blog_archive_tmpl_weekly` binary(255), MODIFY `blog_archive_tmpl_daily` binary(255), MODIFY `blog_archive_tmpl_individual` binary(255), MODIFY `blog_archive_tmpl_category` binary(255), MODIFY `blog_google_api_key` binary(32), MODIFY `blog_sanitize_spec` binary(255), MODIFY `blog_cc_license` binary(255), MODIFY `blog_remote_auth_token` binary(50), MODIFY `blog_custom_dynamic_templates` binary(25); -- -------------------------------------------------------- -- -- テーブル `mt_category` -- ALTER TABLE `mt_category` MODIFY `category_label` binary(100), MODIFY `category_description` binary(65535), MODIFY `category_ping_urls` binary(65535), MODIFY `category_basename` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_comment` -- ALTER TABLE `mt_comment` MODIFY `comment_ip` binary(16), MODIFY `comment_author` binary(100), MODIFY `comment_email` binary(75), MODIFY `comment_url` binary(255), MODIFY `comment_text` binary(65535), MODIFY `comment_junk_log` binary(16777215); ALTER TABLE `mt_config` MODIFY `config_data` binary(16777215); -- -------------------------------------------------------- -- -- テーブル `mt_entry` -- ALTER TABLE `mt_entry` MODIFY `entry_convert_breaks` binary(30), MODIFY `entry_title` binary(255), MODIFY `entry_excerpt` binary(65535), MODIFY `entry_text` binary(65535), MODIFY `entry_text_more` binary(65535), MODIFY `entry_to_ping_urls` binary(65535), MODIFY `entry_pinged_urls` binary(65535), MODIFY `entry_keywords` binary(65535), MODIFY `entry_tangent_cache` binary(65535), MODIFY `entry_basename` binary(255), MODIFY `entry_atom_id` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_fileinfo` -- ALTER TABLE `mt_fileinfo` MODIFY `fileinfo_url` binary(255), MODIFY `fileinfo_file_path` binary(65535), MODIFY `fileinfo_archive_type` binary(255), MODIFY `fileinfo_startdate` binary(80); -- -------------------------------------------------------- -- -- テーブル `mt_ipbanlist` -- ALTER TABLE `mt_ipbanlist` MODIFY `ipbanlist_ip` binary(15); -- -------------------------------------------------------- -- -- テーブル `mt_log` -- ALTER TABLE `mt_log` MODIFY `log_message` binary(255), MODIFY `log_ip` binary(16), MODIFY `log_metadata` binary(255), MODIFY `log_class` binary(255), MODIFY `log_category` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_notification` -- ALTER TABLE `mt_notification` MODIFY `notification_name` binary(50), MODIFY `notification_email` binary(75), MODIFY `notification_url` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_objecttag` -- ALTER TABLE `mt_objecttag` MODIFY `objecttag_object_datasource` binary(50); -- -------------------------------------------------------- -- -- テーブル `mt_permission` -- ALTER TABLE `mt_permission` MODIFY `permission_entry_prefs` binary(255), MODIFY `permission_blog_prefs` binary(255), MODIFY `permission_template_prefs` binary(255); -- -- テーブル `mt_plugindata` -- ALTER TABLE `mt_plugindata` MODIFY `plugindata_plugin` binary(50), MODIFY `plugindata_key` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_session` -- ALTER TABLE `mt_session` MODIFY `session_id` binary(80), MODIFY `session_email` binary(255), MODIFY `session_name` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_tag` -- ALTER TABLE `mt_tag` MODIFY `tag_name` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_tbping` -- ALTER TABLE `mt_tbping` MODIFY `tbping_title` binary(255), MODIFY `tbping_excerpt` binary(65535), MODIFY `tbping_source_url` binary(255), MODIFY `tbping_ip` binary(15), MODIFY `tbping_blog_name` binary(255), MODIFY `tbping_junk_log` binary(16777215); -- -------------------------------------------------------- -- -- テーブル `mt_template` -- ALTER TABLE `mt_template` MODIFY `template_name` binary(255), MODIFY `template_type` binary(25), MODIFY `template_outfile` binary(255), MODIFY `template_text` binary(65535), MODIFY `template_linked_file` binary(255), MODIFY `template_linked_file_mtime` binary(10); -- -------------------------------------------------------- -- -- テーブル `mt_templatemap` -- ALTER TABLE `mt_templatemap` MODIFY `templatemap_archive_type` binary(25), MODIFY `templatemap_file_template` binary(255); -- -------------------------------------------------------- -- -- テーブル `mt_trackback` -- ALTER TABLE `mt_trackback` MODIFY `trackback_title` binary(255), MODIFY `trackback_description` binary(65535), MODIFY `trackback_rss_file` binary(255), MODIFY `trackback_url` binary(255), MODIFY `trackback_passphrase` binary(30); -- -------------------------------------------------------- -- -- テーブル `mt_author` -- ALTER TABLE `mt_author` MODIFY `author_name` varchar(50) CHARACTER SET utf8, MODIFY `author_nickname` varchar(50) CHARACTER SET utf8, MODIFY `author_password` varchar(60) CHARACTER SET utf8, MODIFY `author_email` varchar(75) CHARACTER SET utf8, MODIFY `author_url` varchar(255) CHARACTER SET utf8, MODIFY `author_hint` varchar(75) CHARACTER SET utf8, MODIFY `author_public_key` text CHARACTER SET utf8, MODIFY `author_preferred_language` varchar(50) CHARACTER SET utf8, MODIFY `author_remote_auth_username` varchar(50) CHARACTER SET utf8, MODIFY `author_remote_auth_token` varchar(50) CHARACTER SET utf8, MODIFY `author_api_password` varchar(60) CHARACTER SET utf8, MODIFY `author_entry_prefs` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_blog` -- ALTER TABLE `mt_blog` MODIFY `blog_name` varchar(255) CHARACTER SET utf8, MODIFY `blog_description` text CHARACTER SET utf8, MODIFY `blog_site_path` varchar(255) CHARACTER SET utf8, MODIFY `blog_site_url` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_path` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_url` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_type` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_type_preferred` varchar(25) CHARACTER SET utf8, MODIFY `blog_language` varchar(5) CHARACTER SET utf8, MODIFY `blog_file_extension` varchar(10) CHARACTER SET utf8, MODIFY `blog_sort_order_posts` varchar(8) CHARACTER SET utf8, MODIFY `blog_sort_order_comments` varchar(8) CHARACTER SET utf8, MODIFY `blog_convert_paras` varchar(30) CHARACTER SET utf8, MODIFY `blog_convert_paras_comments` varchar(30) CHARACTER SET utf8, MODIFY `blog_ping_others` text CHARACTER SET utf8, MODIFY `blog_mt_update_key` varchar(30) CHARACTER SET utf8, MODIFY `blog_welcome_msg` text CHARACTER SET utf8, MODIFY `blog_archive_tmpl_monthly` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_tmpl_weekly` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_tmpl_daily` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_tmpl_individual` varchar(255) CHARACTER SET utf8, MODIFY `blog_archive_tmpl_category` varchar(255) CHARACTER SET utf8, MODIFY `blog_google_api_key` varchar(32) CHARACTER SET utf8, MODIFY `blog_sanitize_spec` varchar(255) CHARACTER SET utf8, MODIFY `blog_cc_license` varchar(255) CHARACTER SET utf8, MODIFY `blog_remote_auth_token` varchar(50) CHARACTER SET utf8, MODIFY `blog_custom_dynamic_templates` varchar(25) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_category` -- ALTER TABLE `mt_category` MODIFY `category_label` varchar(100) CHARACTER SET utf8, MODIFY `category_description` text CHARACTER SET utf8, MODIFY `category_ping_urls` text CHARACTER SET utf8, MODIFY `category_basename` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_comment` -- ALTER TABLE `mt_comment` MODIFY `comment_ip` varchar(16) CHARACTER SET utf8, MODIFY `comment_author` varchar(100) CHARACTER SET utf8, MODIFY `comment_email` varchar(75) CHARACTER SET utf8, MODIFY `comment_url` varchar(255) CHARACTER SET utf8, MODIFY `comment_text` text CHARACTER SET utf8, MODIFY `comment_junk_log` mediumtext CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; ALTER TABLE `mt_config` MODIFY `config_data` mediumtext CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_entry` -- ALTER TABLE `mt_entry` MODIFY `entry_convert_breaks` varchar(30) CHARACTER SET utf8, MODIFY `entry_title` varchar(255) CHARACTER SET utf8, MODIFY `entry_excerpt` text CHARACTER SET utf8, MODIFY `entry_text` text CHARACTER SET utf8, MODIFY `entry_text_more` text CHARACTER SET utf8, MODIFY `entry_to_ping_urls` text CHARACTER SET utf8, MODIFY `entry_pinged_urls` text CHARACTER SET utf8, MODIFY `entry_keywords` text CHARACTER SET utf8, MODIFY `entry_tangent_cache` text CHARACTER SET utf8, MODIFY `entry_basename` varchar(255) CHARACTER SET utf8, MODIFY `entry_atom_id` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_fileinfo` -- ALTER TABLE `mt_fileinfo` MODIFY `fileinfo_url` varchar(255) CHARACTER SET utf8, MODIFY `fileinfo_file_path` text CHARACTER SET utf8, MODIFY `fileinfo_archive_type` varchar(255) CHARACTER SET utf8, MODIFY `fileinfo_startdate` varchar(80) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_ipbanlist` -- ALTER TABLE `mt_ipbanlist` MODIFY `ipbanlist_ip` varchar(15) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_log` -- ALTER TABLE `mt_log` MODIFY `log_message` varchar(255) CHARACTER SET utf8, MODIFY `log_ip` varchar(16) CHARACTER SET utf8, MODIFY `log_metadata` varchar(255) CHARACTER SET utf8, MODIFY `log_class` varchar(255) CHARACTER SET utf8, MODIFY `log_category` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_notification` -- ALTER TABLE `mt_notification` MODIFY `notification_name` varchar(50) CHARACTER SET utf8, MODIFY `notification_email` varchar(75) CHARACTER SET utf8, MODIFY `notification_url` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_objecttag` -- ALTER TABLE `mt_objecttag` MODIFY `objecttag_object_datasource` varchar(50) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_permission` -- ALTER TABLE `mt_permission` MODIFY `permission_entry_prefs` varchar(255) CHARACTER SET utf8, MODIFY `permission_blog_prefs` varchar(255) CHARACTER SET utf8, MODIFY `permission_template_prefs` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -- テーブル `mt_plugindata` -- ALTER TABLE `mt_plugindata` MODIFY `plugindata_plugin` varchar(50) CHARACTER SET utf8, MODIFY `plugindata_key` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_session` -- ALTER TABLE `mt_session` MODIFY `session_id` varchar(80) CHARACTER SET utf8, MODIFY `session_email` varchar(255) CHARACTER SET utf8, MODIFY `session_name` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_tag` -- ALTER TABLE `mt_tag` MODIFY `tag_name` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_tbping` -- ALTER TABLE `mt_tbping` MODIFY `tbping_title` varchar(255) CHARACTER SET utf8, MODIFY `tbping_excerpt` text CHARACTER SET utf8, MODIFY `tbping_source_url` varchar(255) CHARACTER SET utf8, MODIFY `tbping_ip` varchar(15) CHARACTER SET utf8, MODIFY `tbping_blog_name` varchar(255) CHARACTER SET utf8, MODIFY `tbping_junk_log` mediumtext CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_template` -- ALTER TABLE `mt_template` MODIFY `template_name` varchar(255) CHARACTER SET utf8, MODIFY `template_type` varchar(25) CHARACTER SET utf8, MODIFY `template_outfile` varchar(255) CHARACTER SET utf8, MODIFY `template_text` text CHARACTER SET utf8, MODIFY `template_linked_file` varchar(255) CHARACTER SET utf8, MODIFY `template_linked_file_mtime` varchar(10) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_templatemap` -- ALTER TABLE `mt_templatemap` MODIFY `templatemap_archive_type` varchar(25) CHARACTER SET utf8, MODIFY `templatemap_file_template` varchar(255) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- -------------------------------------------------------- -- -- テーブル `mt_trackback` -- ALTER TABLE `mt_trackback` MODIFY `trackback_title` varchar(255) CHARACTER SET utf8, MODIFY `trackback_description` text CHARACTER SET utf8, MODIFY `trackback_rss_file` varchar(255) CHARACTER SET utf8, MODIFY `trackback_url` varchar(255), MODIFY `trackback_passphrase` varchar(30) CHARACTER SET utf8, DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Comments

Submitted by nori (not verified) on 2009/09/13 - 05:38

Permalink

はじめまして、突然のメールを失礼いたします。 wordpressを海外のサーバー(ipower)で使っており、latin1_swedish_ciからutf8_general_ciへコンバートしたいと考えています。つきましては、有料でサポートのお願いをしたいのですが、可能でしょうか? 以下、経緯になります。 ------------------------------------------------------------------------------------------------------- 海外のサーバーで、latin1_swedish_ciとEUC-JPの組み合わせでずっと使っています。スペックは以下の通り。
ホスティング:ipower
wordpress2.8.4
MySQL Version 5.0.45
PHP Version 4.4.8
* もともとWordPress ME 2.1.3(EUC-JP)を使っていたのですが、これに上書き>upgrade.phpして、WordPress 2.5.1にしました。press itやdashboardが文字化けするだけなので、そのまま使い続けてしまいました。 phpMyAdminでMySQLの中身を見ると、latin1_swedish_ciとなっています。 そこで、本ページと以下のサイトを参考にutf8_general_ciに変更しようと挑戦しました。 https://wpdocs.sourceforge.jp/DB_%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%A4%89%E6%8F%9B 以下、行った事です。 1. wordpress2.8.4を新しいdbでインストール。 2. 新しくできたdbにlatinで記録されているwp_postsをインポート。 3. post_contentとpost_titleを以下のように変換。
ALTER TABLE	`wp_posts`	MODIFY	`post_content`	LONGBLOB		;
ALTER TABLE	`wp_posts`	MODIFY	`post_title`	BLOB		;
ALTER DATABASE `wpnew` charset=utf8;
ALTER TABLE	`wp_posts` charset=utf8;
ALTER TABLE	`wp_posts`	MODIFY	`post_title`	TEXT	CHARACTER SET utf8 ;
ALTER TABLE	`wp_posts`	MODIFY	`post_content`	LONGTEXT	CHARACTER SET utf8 ;
これを行った結果、以下のようになりました。 1. 投稿した文章は英文だけが記載され、日本語文は記載されなかった。 2. dashboardに出てくる記事のドラフトは、きちんと日本語に変換されていた。 3. phpMyAdminでSQLのpost_contentとpost_titleを確認したところ、一部分だけ日本語に変換されていた。 ------------------------------------------------------------------------------------------------------- どこかでutfに乗り換えなければと思いつつ、ここまで来てしまいました。何卒お力添えを頂ければ幸いです。よろしくお願い致します。