WordPress mySQLデータベース インポートにてエラーが発生する原因は、目に見えない制御コード(バックスペースの0x08)が原因だった

先日書いた、WordPressデータベースのインポートでエラーが発生した現象の記事ですが、圧縮形式が違うとエラーを回避できたことに、なんだか釈然としない感覚でした。

エラーを起こす問題の本質は、圧縮形式ではないことがわかりました。

データベースの文字列の中に「目に見えない文字が混入している」ことが原因でした。Macの一部環境で起きてしまう「見えない文字が文章に混ざるトラブル(バグ)」が、サーバーを移すときのデータベース インポートで、トラブルを呼んでしまう様子です。

気づいたのは偶然だった

インポートエラーが起きることをブログ記事に書いたあと、iPhoneのブログアプリ PressSyncからブログ記事一覧を取得しようとしたところ失敗するようになりました。

このトラブルは、記事文章の中に入ってはいけない「制御コード」が混入している状況で起きるトラブルです。

このトラブルについては詳しくはこちらの記事にまとめています。

「あっ!」と、この時に気付きました。

データベースに「入ってはいけない制御コード」が入っているため、インポートでエラーが発生したのです。

目に見えないバックスペースの制御コード

入ってはいけない制御コードが混入するバグは、MacのYosemite環境などで発生します。

困るのが、通常だと目視で見つからないのです。エディタのmiを使うと、隠れている制御コードを表示することができます。

エラーになっているデータをmiで確認したところ、 1F と 08 と、赤色の文字が隠れているのが見つかりました。

これを除去するのは大変

本当はこの制御コードを除去してから、データベースにインポートを行うのが本来の対策になると思います。手作業で確認するため大変です。

とりあえず、インポートでZip圧縮形式を選ぶと、インポートできましたが、入っているとトラブルになる制御コードが混入したままの状態です。

一括でチェックする方法を探す必要があります。

この見えない制御文字が混ざることで、よく発生するのが、iPhoneアプリ するぷろ や PressSync にて記事一覧が取得できなくなるトラブルです。これについて、原因と対策をまとめているのがこちらの記事です。

講座開催 ご案内
広告

この記事を書いた人

ものくろ(Webコーチ)

株式会社あみだす 代表取締役 / 博士課程中退(農学) / ブロガー / Web&Blogコーチ / 親指シフト orzレイアウト開発者 / 講師 / フリーランス / 旅人 / 民事裁判経験者 / 毎月どこかに出張

ブログは月間65万PVを記録(2016年1月)。 これまでに250回を超えるワークショップ開催・のべ1,200名のブログサポートに携わる。

WordPressが得意 / 好きなもの(無刻印キーボード・十割蕎麦・湯葉)/ あまり好みでないもの(ブロッコリー・値切り)

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします