VLC の字幕が文字化け / 文字がおかしい:エンコーディングを修正

字幕のトラブル 最終更新: 対象環境: All platforms · VLC 3.0.x

文字化けした字幕——疑問符、黒いダイヤ、または無意味な文字の壁——はテキストエンコーディングの問題であり、壊れた字幕ファイルではありません。字幕ファイルは正常です。VLC が間違った文字セットでデコードしているだけです。これは Windows-1252 や中央ヨーロッパ言語として保存されたレガシー SRT ファイルで非常に一般的であり、UTF-16 ファイルでも同じくらい一般的です。1 つの環境設定変更で全体が直り、ファイルごとの上書きで即座に直ります。

なぜ発生するのか

  • VLC の間違ったデフォルトエンコーディング — VLC は UTF-8 を想定します。Windows-1251/1252/GBK のレガシーファイルは読み間違えられます。
  • UTF-16 エンコードの字幕 — 一部のツールは SRT を BOM 付き UTF-16 で保存し、VLC の自動検出が間違った側を選ぶことがあります。
  • BOM なし UTF-8 の中国語/キリル語 — BOM がないと VLC はレガシーコードページを推測することがあります。
  • 非対応の charset ヘッダーを持つ ASS/SSA — ファイルはあるエンコーディングを宣言するが、別のものを含んでいます。

解決方法

解決策 1字幕の表示を修正する(文字コード)

字幕が正しく表示されるようにする

  1. Tools > Preferences > Subtitles(「Subtitles / OSD」内)に進みます。

    字幕設定が開きます。

  2. Default encoding を UTF-8 — それでもダメなら Windows-1252、Windows-1251(キリル)、または言語に合うコードページをお試しください に設定します(古いファイルの場合は Windows-1252 / 中央ヨーロッパ言語もお試しください)。

    テキストが正しくデコードされます。

  3. Save をクリックしてビデオを再度開きます。

    字幕が新しい設定で再描画されます。

補足ファイルごとの上書き:ビデオを右クリック > Subtitle > Sub Track でトラックを選択できます。微調整は G キーと H キーをお使いください。

解決策 21 ファイルのエンコーディングを上書きする(クイックテスト)

現在のファイルを 10 秒で修正——かつ正しいコードページを特定する

  1. 再生中に 字幕 > 字幕トラック (&T)(右クリックメニュー)に進みます——利用可能なら「Character encoding」サブメニューを開きます。

    エンコーディングオプションが表示されます。

  2. UTF-8、Windows-1252、Windows-1251 を順に切り替え、テキストが読めるようになるまで回します。

    正しいエンコーディングが見つかります。

  3. 動いたエンコーディングをメモし、環境設定でデフォルトに設定します。

    この種類の以降のファイルは正しくデコードされます。

補足VLC 3.0 は一部のプラットフォームでトラックごとのエンコーディングピッカー(字幕 > 字幕テキストのエンコード)を公開します。他ではグローバルデフォルトをお使いください。

解決策 3字幕を UTF-8 で再保存する

永続的なファイルレベルの修正

  1. Notepad++(または VS Code / エンコーディング制御付きのエディタ)で .srt を開きます。

    ファイルが開きます(文字化けしているかもしれません)。

  2. メニュー > Encoding > Convert to UTF-8(BOM なしで構いません)。

    ファイルが変換されます。

  3. 保存し、VLC で動画を再読み込みします。

    どのデバイスでも字幕が正しく描画されます。

補足UTF-8 への変換で字幕はポータブルになります——VLC、TV、スマホ、ウェブプレーヤーはすべて UTF-8 を確実に扱います。

解決策 4VLC の環境設定を初期値に戻す

クラッシュ、黒画面、音声トラブルの原因となる壊れた設定を消去する

  1. VLC を完全に閉じます。

    VLC のプロセスが動作していません。

  2. コマンドプロンプト(Win+R → cmd)またはターミナルを開きます。

    コマンドラインが使える状態になります。

  3. コマンドを実行します: vlc --reset-config (Windows/Linux)。macOS の場合は代わりに ~/Library/Preferences/org.videolan.vlc を削除してください。

    VLC の環境設定が初期値に戻ります。

  4. VLC を起動し、本当に必要な設定だけを再度適用します。

    VLC がクリーンな設定で起動します。

補足これによりすべてのカスタム設定(ショートカットやスキンを含む)が消去されます。必要に応じて、事前に Tools > Preferences > All > Interface で設定をエクスポートしてください。

上級者向けの対処

解決策 1charset ヘッダーが間違った ASS ファイルを修正する

エンコーディング設定を無視するスタイル付き字幕を扱う

  1. テキストエディタで .ass ファイルを開き、「Script Info」ヘッダーに charset 行がないか確認します。

    ヘッダーが見えます。

  2. ファイルが、それ以外は UTF-8 のヘッダーにロシア語/中国語を含む場合は、UTF-8 で再保存し、charset 上書き行を削除します。

    ヘッダーが内容と一致します。

  3. VLC で再読み込み——ASS スタイルが正しいテキストで適用されます。

    スタイル付き字幕が読めるようになります。

補足ASS ファイルは独自のフォントと charset メタデータを持ちます。それらが競合すると、ファイルを修正する必要があります——VLC はヘッダーに従います。

再発を防ぐには

  • 字幕はデフォルトで UTF-8 で保存してください。
  • UTF-8 を出力するツール(subliminal、subdownloader)をお使いください。
  • 手動で字幕を編集する場合は、BOM を残すか、エディタが UTF-8 を書き込むようにしてください。

よくある質問

VLC で字幕が四角(□)になるのはなぜですか?
四角はフォントがその文字のグリフを持たないか、エンコーディングが間違っていることを意味します。まずエンコーディングを直してください。エンコーディングが正しくても四角が残るなら、フォントがその文字体系を欠いています——環境設定で字幕フォントを変更してください。
VLC は中国語、キリル語、アラビア語の字幕に対応していますか?
はい、その文字体系をカバーするフォントがあれば。エンコーディングは UTF-8(または該当コードページ)である必要があります。アラビア語/ヘブライ語は字幕環境設定で RTL オプションも有効にしてください。
Notepad では字幕がきれいなのに VLC では文字化けするのはなぜ?
Notepad はエンコーディングを自動検出します。VLC は設定されたデフォルトを使います。VLC のデフォルトエンコーディングをファイルの実際のエンコーディングに合わせてください。
文字化けするのはフルスクリーンだけ?
それは珍しく、レンダラーではなくエンコーディングを指します。ビデオ出力モジュールを切り替えるか、GPU ドライバーを更新してください。

まとめ

字幕の表示を修正する(文字コード) — 字幕が正しく表示されるようにする. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.