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 文を以下に挙げておく。データベース移行の際に役にたつこともあるかと思う。 注意点としては、この処理を実行したら、
mt-config.cgi (場所はどの行でもかまわない)に SQLName 1
と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;
トラックバック URL: https://perltips.twinkle.cc/trackback/217
wordpressでの対応について
はじめまして、突然のメールを失礼いたします。 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%... 以下、行った事です。 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に乗り換えなければと思いつつ、ここまで来てしまいました。何卒お力添えを頂ければ幸いです。よろしくお願い致します。
Posted by nori (未認証ユーザ) on 2009/09/13(日) 21:38
MySQL で、latin1_swedish_ci を utf8_general_ci に変換する方法
Trackback from Perl Tips: MySQL 4.0 と 4.1 では、文字コードの扱いの仕様が変わったらしい。......
Posted by Perl Tips (未認証ユーザ) on 2007/06/20(水) 21:02
Movable Type 3.35 を、Drupal 5.1 に移行する。
Trackback from Perl Tips: Druapl は今年に入り 5.1 にバージョンアップし、製品も顔負けのものとなった。そして Movable Type は 4 にバージョンアップ(ベータ......
Posted by Perl Tips (未認証ユーザ) on 2007/07/03(火) 21:49