Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

円マークとバックスラッシュの話

新しく買ったPCにJDKをインストールし、環境変数を設定しました。そしてjavacコマンドを実行、、、

コマンド プロンプト 2020_07_04 10_41_14.png

うーん、環境変数の設定を再確認してみても間違いは見当たらない。
そこで文字コードの問題かもしれないと思い、入力したパスの文字コードを確認してみると
2020-07-04.png

どうやら円マークがU+005Cではなく、U+00A5になっていたようです。
そもそも私たちがWindowsの日本語キーボードで入力している円マークは実は円マークではなくバックスラッシュの仮の姿です。(正確にはあれこれすると円マークも入力できますが)
なぜこんなことが起きるのかというと、もともとのASCIIでバックスラッシュの文字が割り振られていた5Cという文字コードに日本では円マークを割り振り、JIS X 0201として規格化してしまったからです。
その後、全世界の文字コードを統一しようということで、Unicodeの規格が生まれ、バックスラッシュと円マークをきちんと区別して定義しようとなりました。その際、U+005Cにバックスラッシュが、U+00A5に円マークが割り当てられます。
しかし、WindowsがUnicode化するにあたって「U+005Cの文字コードはバックスラッシュだが、日本語の表示では円マークとする」としました。
そのため、日本語キーボードでバックスラッシュを入力すると、フォントによって画面上には円マークだったりバックスラッシュだったりが表示されたりします。(実際はバックスラッシュ)
つまり、私たちが普段日本語キーボードで入力するときは入力した文字が円マークで表示されていても、本当はバックスラッシュ(文字コードがU+005C)なのです。
しかし、どっかからコピペなどをしてきたときに本物の円マーク(文字コードがU+00A5)を持ってきてしまうことがあるのです。

さて、説明が長くなりましたが、今回の私の場合はパスをコピペして設定していたため、(なぜか)本物の円マークを使ってしまっていました。なので、きちんとキーボードから入力して環境変数を設定してあげると、
選択コマンド プロンプト 2020_07_04 10_45_52.png

このように無事、javacコマンドが実行できました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?