\と¥について

※ 以下の記事の「\」「¥」は、いずれも半角のバックスラッシュと円記号「」のことですが、下記に示す通り、正確に表示されないことがあるので、全角表記で代用しています。

 

このブログの記事で、半角のバックスラッシュ「\」を多用する事がありました。

ちゃかちゃか「\」を書いていって、プレビュー画面で確認してみると、

 

「あれ?」

 

全部円記号「¥」になっています。

 

どうにかならないもんかとちょっと調べてみると、日本語の文字コードと英語の文字コードの違いで生じているとの事。

 

そこには長い歴史があって面白かったので、ちょっと掻い摘んで説明 ↓

国際規格では、もともと「¥」の表記はなかった。

でも日本人は通貨単位としての「¥」の表記が必要なことがある。

 

バックスラッシュ「\」は、「各国が別の文字記号を割り当てても良い」とされていたため、

日本規格では、この「\」「¥」を割り当てた。

 

時は流れ、世界で文字コードを統一する事になり、「Unicode」の規格が生まれた。

「Unicode」では、「\」「¥」は別の文字として定義されたが、これまで日本語ファイルの中で「¥」と割り当てられてきた文字について「\」「¥」どちらにすべきかという問題が生じた。

 

Mac OSでは、もとからUnicode規格が採用されており、「\」「¥」は区別されている。

一方、Windowsでは、

見た目は「¥」にして、中身は「\」にする

という方法が採用された。

 

大抵は問題ないが、

Windowsでは、英語キーボードで「\」と入力しても、フォントが日本語規格だったら「¥」と表示されるし、

逆に日本語キーボードで「¥」と入力しても、フォントが英語規格だったら「\」と表示されることがある。

 

また、Windowsでプログラミングコードを打ったあと、それをMacにコピペすると、

「\」「¥」の区別問題で誤作動、という困った現象が起こる。

 

つまり、私の場合は、英語キーボードで「\」と打ったつもりが、日本語フォントで表示されるために「¥」となってしまっていた、という事。

文字化けを完全に避けたい場合は、「全角で表示する」というのが一番簡単な様子。

 

今回は徒然記なので全角にしましたが、

「プログラミングコードはできれば半角のままで表示したいなー」

と思った私のとった行動は、

「\」のみ、フォントを「Arial」「Helvetica」等の英語フォントに変更する、というもの。

HTMLの場合は、

<span style="font-family: arial, helvetica, sans-serif;"></span>

という感じ

 

今のところうまくいっているように思うのですが、もしこのサイトで文字化けを見つけたら教えて下さい。

References