入稿後の手戻りを防ぐ!KDPの文字化け、変換不能文字の修正

変換不能文字の修正の確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

KDP向け原稿で文字化けを見つけたら、壊れた表示をそのまま上書きせず、まず元ファイルのバイト列を退避します。今回の標本は、同じ日本語本文をShift_JISで保存したファイルです。これを誤ってUTF-8として読むと置換文字が18個現れました。一方、Shift_JISとして正しく読み、UTF-8の別ファイルへ保存した結果は、代表10地点の文字と総文字数が正しい本文に一致しました。

開始点は「Shift_JISの元ファイル」、操作は「元を複製し、UTF-8として誤読した結果とShift_JISとして読んだ結果を比較して、正しい結果だけをUTF-8の別名コピーへ保存」、数値結果は「誤読時の置換文字18個、正しい経路の照合10地点すべて一致」です。戻し先は手を加えていないShift_JISの原本です。

ただし、この検証のステータスは partial です。rune Studioの画面上で文字化け状態を再現し、その状態から上書き保存する操作までは試していません。また、KDPへの実入稿や配信端末での表示確認も対象外です。ここで確認できたのは、文字化けの原因を読み込み文字コードまで切り分け、正しい本文をUTF-8コピーとして取り出せたことです。

「文字化け」と「変換不能文字」は別の問題

見た目が崩れていても、原因は一つとは限りません。

今回の18個の置換文字は、Shift_JISのバイト列をUTF-8として読んだ比較結果です。「元データから18文字が消えた」と断定する値ではありません。最初に読み込み条件を直し、その後で保存先の文字コードに表現できない文字が残っていないかを別工程として確認します。

製品に依存しない修正手順

1. 元ファイルを複製して固定する

原本を複製し、片方を復旧作業用、もう片方を戻し先として保持します。文字化けした表示を開いたまま原本へ保存すると、誤った文字列が正常なバイト列を置き換えるおそれがあります。

2. 想定した文字コードで読み直す

ファイルの作成元、受け渡し元、過去の保存設定から候補を絞ります。候補ごとに別コピーで開き、タイトル、句読点、漢字、記号など同じ地点を比較します。今回の標本では、UTF-8として読む経路に置換文字が18個あり、Shift_JISとして読む経路では代表10地点と文字数が正しい本文に一致しました。

3. 正しい表示だけをUTF-8の別名コピーにする

読み直して正常になった本文を、原本とは異なるファイル名でUTF-8保存します。保存後のコピーを再度読み、代表地点と文字数を照合します。原本を上書きしなければ、結果に疑問があるときはShift_JIS版へ戻れます。

4. 変換不能文字を別に点検する

絵文字、機種依存記号、私用領域文字などは、読み込みが正しくても保存先によって表現できないことがあります。警告対象を通常の文字へ置換するか、Unicodeを保持できる保存形式を選びます。文字化けの修正と、変換不能文字の置換を一度に扱わない方が、どの操作で本文が変わったか追跡しやすくなります。

5. KDP工程はEPUBとプレビューで確認する

ローカルのUTF-8コピーが正しいことは、KDPでの受理や表示が正しいことを保証しません。Amazon KDPの対応原稿形式はEPUBを受け付け、Kindle Previewerでの確認を案内しています。したがって、テキスト復旧後はEPUBを生成し、目次、改ページ、縦横組み、画像、フォント代替を別途確認します。

rune Studioで確認できる製品機能

rune Studioは、UTF-8、UTF-8(BOM付き)、Shift_JIS、EUC-JP、ISO-2022-JP、UTF-16LE、UTF-16BEなどを扱います。読み込み時はBOMを優先し、その後に自動判定と日本語文字コードの候補を使います。ステータスバーから文字コードと改行コードを切り替えられます。

また、現在の保存先文字コードで表現できないUnicode文字は、連続する範囲ごとに赤く表示されます。変換不能文字が残った状態では、手動保存時に警告し、自動保存を一時停止して通知します。これは製品仕様として確認された機能です。

一方、今回のStage 4実測で確認したのは、Shift_JISの同一バイト列に対する二つの読み方と、正しい結果をUTF-8コピーへ保存した後の一致です。rune Studioの画面で誤読状態を作る操作、赤表示、警告、自動保存の停止・再開は今回の実測には含まれません。

共通標本で確認できた範囲

別の共通標本では、同じ日本語39文字をUTF-8、Shift_JIS、EUC-JPで保存したファイルが39文字として読み取られ、UTF-16LEとUTF-16BEは改行を含め40文字として読み取られました。UTF-8の標本はタブ設定とも一致しています。

この結果は複数文字コードの基本的な読み分けを支えるものですが、KDPへの入稿成功、外部アプリでの自動変換、文字化けした画面からの安全な上書きを証明するものではありません。

近いテーマの記事との使い分け

テキストエディタの選び方を知りたい場合は、STUDIO-523の対象です。EPUB変換時に文字が欠ける問題を追う場合はSTUDIO-448、KDPプレビューの組版や画像パスを点検する場合は、それぞれのKDP記事で扱います。

この記事の焦点は、入稿前の原稿で文字化けを見つけたときに、元のShift_JISバイト列を守りながら正しい読み込みへ戻し、UTF-8の別名コピーを作ることです。KDP固有の表示問題やEPUB変換の欠落まで同じ原因として処理しません。

安全な終了条件

次の条件がそろったところで、復旧したUTF-8コピーを次工程へ渡します。

今回のローカル結果はpartialです。元ファイルへ戻れる状態を維持し、UTF-8コピーの一致確認までは採用できますが、rune Studio上の誤読・上書き挙動とKDP側の結果は未確認の境界として残します。

複数文字コードの判定と変換不能文字の確認を同じ編集環境で行う場合は、rune Studioの商品ページで現行Mac版の対応範囲を確認できます。