一般用語
中級

CP932 (Windows-31J, 1993)(シーピーキューサンニー)

Microsoft が Windows 3.1 (1993) で日本語処理用に策定した Shift_JIS 拡張コードページ。Shift_JIS 基本仕様に NEC 特殊文字・IBM 拡張文字・機種依存文字 (①②③・♠♥♦♣・ℓ㍻ 等) を追加、Windows 95/98/Me/2000/XP/Vista/7/8/10/11 の日本語システム文字コードとして君臨。

0 回閲覧
0 いいね
2026/5/11 更新
関連タグ
CP932
Windows-31J
MS932
Shift_JIS 拡張
機種依存文字
Windows 日本語

概要

CP932 (Code Page 932、通称 Windows-31J または MS932) は、Microsoft が Windows 3.1 (1993) で日本語処理用に策定した Shift_JIS 拡張コードページで、Windows 95/98/Me/2000/XP/Vista/7/8/10/11 の日本語システム文字コードとして 2026 年現在も使用されている重要な規格です。Shift_JIS 基本仕様に NEC 特殊文字 (①②③・I II III・㈱・㊊ 等)・IBM 拡張文字 (㍻㍼㍽ 等の元号合字)・機種依存文字 (♠♥♦♣・ℓ・①② 等) を追加し、合計約 7,879 字を扱えるようにしました。Microsoft Windows 内部実装で MBCS (Multi-Byte Character Set) として動作し、Shift_JIS と概ね互換ですが追加文字で微妙な差異あり。「Windows-31J」「MS932」「IBM-943」「IBM-942」「MS_Kanji」「CP932」など複数の名称で呼ばれることがあり、Web 開発・データ連携でのエンコーディング名混乱の元凶となっています。

主な特徴・仕組み

  • 規格策定: 1993 年 Microsoft、Windows 3.1J リリースと同時
  • ベース: Shift_JIS + Microsoft 独自拡張
  • 追加文字 (NEC 特殊文字): ①②③④⑤⑥⑦⑧⑨⑩・I II III IV V・㈱・㊊㊋ 等
  • 追加文字 (IBM 拡張文字): ㍻㍼㍽ (元号合字 平成/昭和/明治)
  • 追加文字 (機種依存): ♠♥♦♣ (トランプ)・ℓ (リットル単位)
  • 総文字数: 約 7,879 字
  • Windows 内部実装: MBCS (Multi-Byte Character Set) ベース
  • 別名称: Windows-31J・MS932・IBM-943・IBM-942・MS_Kanji・CP932
  • Java 内部表現: MS932 (Sun Java) または Windows-31J (IBM Java) で呼出
  • Python 標準: cp932 または shift_jis_2004 で指定可能

スペック比較表 (Shift_JIS 系)

エンコーディング文字数追加文字OS
Shift_JIS6,879なし各社
CP932 (Windows-31J)約 7,879NEC + IBM 拡張Windows
Shift_JIS-200411,233JIS X 0213一部
MacJapanese約 8,000Apple 拡張Mac OS

具体例・対応技術

  • Windows 95 日本語版 (1995): CP932 標準、ファイル名・レジストリで採用
  • Windows 11 日本語版 (2021-): CP932 デフォルト継続、UTF-8 はオプション
  • Visual Studio (1995-): CP932 ソースコード対応、UTF-8 BOM 必須
  • Excel/Office VBA: CP932 内部処理、文字化けトラブル多発の元凶
  • SQL Server (Microsoft): NVARCHAR で Unicode、VARCHAR で CP932

自作PCでの選び方・注意点

2026 年現在も Windows 11 のデフォルトファイルシステム・cmd.exe・PowerShell・レジストリは CP932 を使用、UTF-8 ソースコード (Python・C++・JavaScript) のコンパイル・実行で文字化けトラブルが多発します。Windows 10 1903 以降で「言語設定 > 管理用の言語設定 > UTF-8 を使用」を有効化可能ですが、互換性問題で多くの環境が CP932 のまま。Visual Studio Code・JetBrains IDE で「文字コード自動判定」を有効化、UTF-8 with BOM・UTF-8 without BOM・CP932 の切替を頻繁に行う必要があります。chcp 65001 で UTF-8 切替後の Python 実行や、Git の core.autocrlf=input 設定なども含めて文字コード問題は Windows 開発者の永遠の課題。WSL2 (Windows Subsystem for Linux 2) は ja_JP.UTF-8 デフォルト、Windows と WSL2 間のファイル交換で CP932 ↔ UTF-8 変換が頻繁に必要。

関連用語との違い

  • Shift_JIS: 基本規格、CP932 はその拡張版
  • Shift_JIS-2004: JIS X 0213 対応、CP932 と異なる拡張
  • UTF-8: 現代標準、CP932 の置き換え

よくある質問(FAQ)

Q1: Shift_JIS と CP932 の互換性は? A: 基本部分は完全互換、追加文字 (NEC/IBM 拡張・機種依存文字) で CP932 のみ表現可能。標準的な日本語テキストは両者で扱える。

Q2: 機種依存文字とは? A: ①②③・♠♥♦♣・ℓ・㍻ など Shift_JIS 標準外の文字、Windows でのみ正しく表示。Mac/Linux/メールで文字化けの原因。

Q3: Windows 11 で UTF-8 デフォルトにできる? A: 「Region settings > Administrative > UTF-8 for worldwide language support」で有効化可能だが、レガシーアプリで互換性問題が発生。多くの環境で CP932 のまま。

まとめ

  • CP932 = 1993 年 Microsoft 策定の Shift_JIS 拡張コードページ
  • NEC 特殊文字 + IBM 拡張文字 + 機種依存文字を追加
  • Windows 3.1J 以降 Windows 11 まで日本語システム標準
  • 別名 Windows-31J/MS932 で混乱しがち、UTF-8 移行が課題
この記事について
カテゴリー一般用語
難易度中級
作成日2026/5/11