
赤く示された変換不能文字は、一括置換で消すのではなく、文脈を読んで一件ずつ修正します。その後、候補が0件になったことと、別名保存したファイルが正しく開き直せることを確かめます。この記事の主役は「どう発見するか」ではなく、発見した後の直し方です。
色が教えてくれるのは位置まで
保存先の文字コードで表現できない文字をエディタが示しても、代わりに何を書くかは決められません。絵文字は語句へ置き換えられるかもしれませんが、人名や歴史的表記は似た字で済ませると意味が変わります。
そこで、変換不能文字を「修正待ちの箇所」と考えます。赤い箇所を上から順に巡回し、元の文字、掲載箇所、代替案、確認者を短く記録します。色が消えることより、修正の理由が説明できることを優先します。
五件の修正を三種類に分ける
絵文字二件と機種依存文字三件を含むShift_JIS納品用の複製なら、すぐに直せるもの、確認が必要なもの、変更できないものに分けます。例えば飾りのハートは「好き」と書き直せるかもしれません。しかし、固有名詞の異体字は著者の承認なしに変更できません。
変更できない文字が一つでもあれば、Shift_JISでの納品条件自体を見直します。文字を落として保存を通すことは、修正ではなく欠落です。
Rune Studio上で修正する順番
Rune Studioでは、その原稿を渡す際の文字コードを確認し、保存の妨げになる候補を見ながら文脈を読みます。修正は一件ずつ行い、その都度、前後の文章と記録を照合します。一括置換は、同じ文字が異なる意味で使われるため避けます。
確認では、対象文字を残したままのShift_JIS変換が失敗し、意図した代替に直した後のファイルはShift_JISで再読み込みできました。これは修正後の保存経路の確認です。赤表示の位置や自動保存の再開表示は、画面上での追加確認が必要です。
0件の後に「開き直し」を入れる
変換不能候補が0件になったら、原本と別のファイル名で保存します。タブ上で正しく見えるだけではまだ不足です。一度閉じ、出力した文字コードで開き直し、修正した五箇所と文末を見比べます。
開き直して一致しない場合は、追加の置換を始めず、保存前の複製に戻ります。修正履歴と比べ、どの一手で差が生まれたかを特定します。
エラーが出た直後の三つの退避策
保存時に文字コードの問題が分かったら、最初の目的は「成功表示を出すこと」ではなく、未保存の編集を失わないことです。変更した段落を一時的に別タブへ控える、対象ファイルを別名にする、元ファイルの複製をファイル一覧で確保する、のいずれかを先に行います。Rune Studioでタブを開いたまま試行錯誤を続ける場合も、どのタブが原本でどれが検証用かを名前で区別します。
その後、エラーの原因となった文字を検索範囲の近くから確認します。絵文字、丸囲み数字、旧字体、特殊なダッシュなどは候補ですが、推測だけで全文置換しません。一文字ずつ意味を見て、残す必要があるならUTF-8の別名保存、互換表記でよいなら限定的な修正を選びます。保存後は同じ文字コード指定で開き直し、先頭、修正箇所、最終行の三点を読むと欠落を見つけやすくなります。
変換後の受け手まで想定する
UTF-8に直せばRune Studioでは読めても、納品システムがShift_JIS限定なら目的は達成できません。先方仕様、ファイル名、拡張子、改行コードも合わせて確認します。この記事は文字コードを扱うRune Studio開発チームが、保存失敗から戻れる順序を中心にまとめました。検証用コピーで再読込まで通ったら、製品ページからダウンロードしたRune Studioで本番データへ反映してください。
修復用コピーの名前を曖昧にしない
new.txtやfinal2.txtでは、翌日にどれが原本か分からなくなります。日時を細かく入れる必要はなくても、顧客メモ_original_sjis.txt、顧客メモ_repaired_utf8.txtのように役割と文字コードを示します。修復済みコピーをRune Studioで開いたら、検索で変更語をたどり、最終行まで存在することを確認します。受け渡し後もしばらく原本を残せば、想定外の互換性問題が出たときに比較できます。
執筆者:Rune Studio開発チーム。文字コードエラー後の復旧可能性を残す順序を解説しました。
向いている人、別の方法がよい人
古い文字コードを指定する納品先があり、長文を文脈つきで直したい人には、エディタ上で候補と本文を往復できる環境が向いています。大量ファイルの機械的な互換性チェックだけが目的なら、専用の一括検査ツールが適します。
修正工程の完了は、赤が消えた瞬間ではなく、代替の理由が残り、別名ファイルを開き直して一致を確かめた時点です。Rune Studioの商品ページで対応する文字コードを確認し、まず問題文字を数件入れた複製で修正から再読み込みまでを試してください。