字幕が文字化けする 2 つのパターン
�や□が並ぶ:Shift_JIS(CP932)で保存された古い字幕を、UTF-8 を前提とするプレーヤーで開いた状態です。スマートテレビ、Plex、Jellyfin、スマホのアプリでよく起きます。ファイル自体は壊れていないので、元のファイルを変換すれば直ります。縺薙s縺ォ縺。縺ッのような漢字が並ぶ:UTF-8 の字幕を Shift_JIS として読み込んだ状態です。古い Windows 向けのプレーヤーや、字幕の文字コードを「日本語(Shift_JIS)」に固定した設定で起きます。
SRT ファイルには、文字コードを書いておく場所がありません。プレーヤーは中身から推測するしかなく、推測が外れると文字が化けます。仕組みは文字化けとはで詳しく説明しています。
文字化け
1 00:00:01,000 --> 00:00:03,500 縺薙s縺ォ縺。縺ッ縲∫嚀縺輔s 2 00:00:04,000 --> 00:00:06,000 縺昴l縺ァ縺ッ縲√∪縺滓擂騾ア
修正後
1 00:00:01,000 --> 00:00:03,500 こんにちは、皆さん 2 00:00:04,000 --> 00:00:06,000 それでは、また来週
字幕ファイルを直す手順
- 字幕ファイル(
.srtまたは.vtt)を上の枠にドラッグします。 - Mojibuster が文字コードを判別します。Shift_JIS なら UTF-8 に変換し、化けた文字があれば元に戻します。
- ダウンロード で保存し、動画と同じフォルダーにある元の字幕と置き換えます。ファイル名を動画と同じにしておくと、多くのプレーヤーが自動で読み込みます。
タイムコード、番号、空行、改行コードは変わりません。字幕の表示タイミングがずれることはありません。
ASS・SSA 字幕(アニメのファンサブなど)
アニメの字幕でよく使われる .ass・.ssa 形式も、中身はただのテキストです。古いものは Shift_JIS で保存されていることがよくあります。Mojibuster はこの拡張子を直接は受け付けないため、次の手順で変換します。
- 拡張子を一時的に
.txtに変えます(例:episode01.ass→episode01.txt)。 - Mojibuster にドロップして変換し、ダウンロードします。
- 拡張子を
.assに戻します。
スタイルの定義や位置指定などの書式タグは、そのまま残ります。
プレーヤー・機器ごとのヒント
- VLC: 設定の字幕に関する項目で、字幕の既定の文字コードを選べます。UTF-8 に変換した字幕なら、既定の設定のままで正しく表示されます。
- MPC-BE・MPC-HC: 字幕の設定で文字セットを指定できますが、UTF-8 に変換しておけば設定を変えずに済みます。
- スマートテレビ・メディアプレーヤー: USB メモリやホームサーバーから字幕を読む機器の多くは、UTF-8 だけを正しく表示します。BOM なしの UTF-8 が最も安全です。
- Plex・Jellyfin: サーバーが字幕の文字コードを判別できないと
�になります。サーバー上の字幕ファイルを UTF-8 のものに置き換え、ライブラリを更新してください。
たくさんの字幕をまとめて変換するには
Mojibuster は 1 ファイルずつ処理します。シリーズ全話分のように数が多いときは、Notepad++ で文字コードを変換する方法や PowerShell での一括変換が便利です。字幕以外の古いファイルもまとめて直すなら、Shift_JIS を UTF-8 に変換する方法も参考にしてください。
文字化けを防ぐには
- 字幕は UTF-8(BOM なし)で保存します。
- 字幕編集ソフトで保存するときは、保存の文字コードが UTF-8 になっているか確認します。
- 古い字幕を手に入れたら、使う前に UTF-8 に変換しておきます。
よくある質問
字幕のタイミングがずれることはありませんか?
ありません。化けた文字だけを直し、タイムコード・番号・空行はそのまま残します。
� になった字幕も直せますか?
元の字幕ファイルなら直せます。� はプレーヤーが表示できなかった印で、ファイルの中には元のバイトが残っています。ただし、� のまま保存し直したファイルやコピーしたテキストは、情報が失われているため戻せません。
ASS 字幕にも使えますか?
はい。拡張子を一時的に .txt に変えれば変換できます。書式やスタイルは変わりません。
変換したのに、まだ化けて見えます。
プレーヤーの字幕の文字コードが Shift_JIS などに固定されていないか確認し、「自動」か UTF-8 に戻してください。
字幕ファイルはアップロードされますか?
いいえ。変換はすべてブラウザー内で行われ、ファイルが端末の外に出ることはありません。