教室に寄せられたご質問から、今回はこんなご質問にお答えします。
ブログを書いていて、「¥」を打ったはずなのに、表示すると「\」になってしまいます。どうしてでしょうか?
というご質問です。
実は、「¥」(円記号)と「\」(バックスラッシュ)には、浅からぬご縁があるんです。
「¥」(円記号)と「\」(バックスラッシュ)の意外な関係
「\」は斜線?/=「割る」の反対? なんか変な文字……
まずはこの見慣れない「\」について解説します。
斜線? 「割る」は「/」だから、その反対? なんだかよく分からない文字です。
「\」は、「バックスラッシュ」と読みます。コンピュータの内部で、一種の区切り記号としてよく使われる文字です。
「¥」(円記号)は日本語環境の文字コード特有の表示
パソコンで表示する文字には、すべて「文字コード」というコード番号が振られています。
そのうち、アルファベット・数字などの「半角文字」のコード表はこのようになっています。
「JIS」とあるとおり、これは日本用のコード表です。
ここでは、文字コード「5C」に「¥」が割り振られています。
英語用の「ASCII」コード表では、同じコードに「\」が入っている
英語圏では、「ASCII」というコード表を使います。
見てわかるとおり、「5C」のコードは、例の「\」です。
日本語環境と英語環境で、文字コード「5C」が「¥」や「\」になる
このように、「¥」と「\」は、同じ文字コードなので、表示しているフォントが英語フォントなのか、日本語フォントなのかで、表示が変わってしまうのです。
Wordで言語とフォントを切り替えてみた例
例として、Wordの言語とフォントを切り替えてみます。キーボードで半角の「¥」を打ってあり、すべて文字コードは「5C」が入っています。
まず最初は、「編集言語」=日本語の状態です。
次に、「編集言語」=英語の状態です。
このように、編集言語=英語 のとき、欧文フォントでのみ 「\」 が現れました。
ホームページの場合は設定によりさまざま
ホームページの文章として入力した場合に、「5C」が「¥」になるのか「\」になるのか、についてですが、
これはつまり、ブラウザが現在表示中のドキュメントを英語と認識しているか、日本語と認識しているかによります。
さらに、文字フォントとして何が選ばれているか、そのフォントが現在のブラウザでどう表示されるか、というルールによって、さまざまに変わります。
ですから、半角の「¥」で入力してしまうと、環境によってころころ表示がかわり、確実に「¥」を表示できない、という問題が発生するのです。
このため、本記事でも、確実に「¥」と「\」を表示するため、両方とも全角で入力しています。
確実に「¥」と表示するにはどうしたらいいのか?
ころころ変わるのでは困る。価格表などは、確実に「¥」と表示しなければなりませんね。
では、いったいどうしたらいいのでしょう?
全角で大丈夫なところは、全角で「¥」と入力する
全角文字を混在させて大丈夫な文章でしたら、全角で「¥」と入力するのが確実です。
そうすると、文字コードは「5C」ではなく「FFE5」となり、間違いなく「¥」と表示されます。
どうしても半角なら、環境依存文字の「¥」を使用する
しかし、価格などの数字は半角で入力することが多いため、「¥」だけ全角だと、なんとなくおかしい時があります。
そんなときは、環境依存文字の「¥」を使います。「えん」と入力して変換すると、次のように候補として表示されます。
文字コードは「A5」となります。こちらは、英語のASCIIコードの範囲外のため、バックスラッシュに変わりません。Wordの英語環境でもきちんと「¥」と表示されました。(環境依存と書いてありますが、ふつうの半角の¥のほうがよっぽど環境依存ですね)
【ご注意】システム上必要な部分の”\“は、そのままにしてください
以上のお話は、あくまでも、文書の中など、画面表示・印刷の都合でどうしても「\」マークが必要な場合だとお考え下さい。
例えば、アプリの実行用パスだとか、データの読み込み用パスなどでは、次のような表記があります。
使い方の説明文などで、このように「\」マークで表記されている場合でも、日本語Windowsが動作していない環境(メンテナンス時のコマンドプロンプトや、Windows以外のOSのコンソール)また、開発用のエディタ画面など)では、次のように表示されることがあります。
この場合は、見た目は”\”でも、正しく入力されていますので、このままにしてください。
見た目が説明と合っていないからといって、環境依存の「\」や、全角の「¥」にしてしまうと、ただちにエラーになります。
日本独特の記号のため、ネット上ではなかなかやっかいですが、以上を参考に、うまく付き合っていただければと思います。
コメント
「環境依存文字の \ に置き換える」は、やめた方が良いです。
例えば、ファイルのフルパスに入る \ を環境依存文字の \ に置き換えます。それをコピーして、コマンドプロンプトやファイルエクスプローラーに貼り付けてみてください。正常に使えません。環境依存文字の \(A5) と、半角の \(5C) は、文字が違うからです。\(A5)に置き換えると、フォルダ名の区切り文字として認識してくれません。
実際、仕事の現場でそのような事案があり、初めて 環境依存文字の¥がある 事を知りました。
見るだけの印刷文書でない限り、環境依存文字の¥は使用しないことをお勧めします。
コメントありがとうございます。ご指摘の通り、システム上必要な表記において、環境依存文字に変えてしまうと、エラーの元ですね。
この件、本文末尾に追記をおこないました。ありがとうございます。
ていねいなご説明、とてもよくわかりました。ありがとうございました!
説明は いらないから 対応策を流して下さい!!
コメントありがとうございます。「確実に「¥」と表示するにはどうしたらいいのか?」以下が対応策になります。半角の¥がバックスラッシュになる環境では、どうしても「そのままで」¥と表示させることはできないため、全角の¥や環境依存文字の¥に置き換えて対応します。