※本ページにはプロモーション(広告)が含まれています
世界中の文字を扱える文字コード。現代のWeb・スマホアプリの標準で、文字化け対策の要となる。
詳しい解説
UTF-8は『8-bit Unicode Transformation Format』の略で、世界中のあらゆる文字をコンピューターで扱うための文字符号化方式です。1992年に設計され、現在ではWeb・メール・スマホアプリの圧倒的標準として採用されており、2024年時点で全世界のWebサイトの約98%がUTF-8で記述されています。
最大の特徴は『1文字を1〜4バイトの可変長で表現する』点です。ASCII互換(英数字は1バイト)でありながら、日本語・中国語・韓国語・アラビア語・絵文字まで、世界の文字を同じ仕組みで扱えます。これに対して、日本で長年使われてきたShift_JIS・EUC-JPは日本語に特化した文字コードで、絵文字や他国の文字は扱えません。
Unicodeと混同されがちですが、両者は別物です。Unicodeは『文字に番号を振る表』(例: あ=U+3042)、UTF-8はその番号を実際のバイト列に変換する『符号化方式』です。UTF-16・UTF-32もUnicodeの符号化方式ですが、可変長・ASCII互換・容量効率の良さからUTF-8が事実上の標準になりました。
文字化けトラブルとして、次の現象が典型です。①『繝上Ο繝シ』のような謎の文字列: UTF-8をShift_JISとして読み込んだときの誤読、②『??????』: 対応していない文字を疑問符に変換したケース、③絵文字が四角□で表示: 古いOS・フォントが該当絵文字を持っていない。
対処の基本は『保存時の文字コードと読み込み時の文字コードを一致させる』ことで、HTMLでは `<meta charset="utf-8">` をhead内に必ず記述します。CSVファイルをExcelで開くときの文字化けは、保存時に『UTF-8(BOM付き)』を選択するか、Excelのデータインポート機能で文字コードを明示することで回避できます。
BOM(Byte Order Mark)は、ファイル先頭に付けられる文字コード識別用の目印で、UTF-8ではあってもなくても動作しますが、付いていないとExcelが誤判定する、付いていると一部のシステムが誤動作する、と環境依存のトラブルを生みやすい要素でもあります。
CSVファイルを作って知人に送ったら『文字化けして読めない』と言われる場面を想像してください。これはCSVを『UTF-8(BOMなし)』で保存したところ、受信側のExcelが自動判定に失敗してShift_JISとして読み込んだのが原因です。作り直す際に『UTF-8(BOM付き)』を選んで保存するか、CSVではなくxlsx形式で渡せば、文字コード問題を回避できます。現代のWebアプリ間連携では例外なくUTF-8が使われるため、意識するのはファイルのやり取り時が中心です。
別の呼び方
Unicode UTF-8
UTF8
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!