원 마크와 백 슬래시 이야기

새로 구입한 PC에 JDK를 설치하고 환경 변수를 설정했습니다. 그리고 javac 명령을 실행,,,



음, 환경 변수의 설정을 재확인해도 실수는 보이지 않는다.
그래서 문자 코드 문제 일 수 있다고 생각하고 입력 한 경로의 문자 코드를 확인해 보면


아무래도 원 마크가 U+005C가 아니고, U+00A5가 되어 있었던 것 같습니다.
원래 우리가 Windows의 일본어 키보드로 입력하고 있는 원 마크는 실은 원 마크가 아니라 백슬래시의 가의 모습입니다. (정확하게는 이것을하면 원 마크도 입력할 수 있습니다만)
왜 이런 일이 일어나는가 하면, 원래의 ASCII로 백슬래시의 문자가 할당되고 있던 5C라고 하는 문자 코드에 일본에서는 원마크를 할당해, JIS X 0201로서 규격화해 버렸기 때문입니다.
그 후, 전 세계의 문자 코드를 통일하려고 하는 것으로, 유니코드의 규격이 태어나, 백슬래시와 원 마크를 제대로 구별해 정의하려고 되었습니다. 이때 U+005C에 백슬래시가, U+00A5에 원 마크가 할당됩니다.
그러나 Windows가 유니코드화할 때 "U+005C의 문자 코드는 백슬래시이지만 일본어 표시에서는 원 마크로 한다"고 했습니다.
따라서 일본어 키보드로 백 슬래시를 입력하면 글꼴에 따라 화면에 원 마크 또는 백 슬래시가 표시됩니다. (실제로 백 슬래시)
즉, 우리가 평소 일본어 키보드로 입력할 때는 입력한 문자가 원마크로 표시되어 있어도, 사실은 백슬래시(문자 코드가 U+005C)입니다.
그러나, 어딘가에서 코피페등을 해 왔을 때에 진짜 원 마크(문자 코드가 U+00A5)를 가져 버리는 일이 있는 것입니다.

그런데, 설명이 길어졌습니다만, 이번의 나의 경우는 패스를 복사해서 설정하고 있었기 때문에, (왜인가) 진짜 원 마크를 사용해 버렸습니다. 그래서, 제대로 키보드로부터 입력해 환경 변수를 설정해 주면,


이렇게 안전하게 javac 명령을 실행할 수있었습니다.

좋은 웹페이지 즐겨찾기