GitHub 마이너 갤러리 표준 질문 양식은 질문자로 하여금 체계적이고 이해하기 쉬운 질문을 작성하도록 하여,
더욱 좋은 답변을 유도하고 공유할 수 있도록 유도함에 그 목적을 둡니다.
본 양식은 필수가 아니지만, 본인이 스스로 좋은 질문을 작성할 자신이 없는 경우 본 양식을 필히 이용하시길 바랍니다.
----
1. 언어 및 프레임워크, 라이브러리 (+버전)
Java Info
jdk 14.0.2
VS Code Info
버전: 1.49.0 (user setup)
커밋: e790b931385d72cf5669fcefc51cdf65990efa5d
날짜: 2020-09-10T13:22:08.892Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: 8.3.110.13-electron.0
OS: Windows_NT x64 10.0.19041
2. 의도한 결과
- 코드가 정상적으로 동작하였을 경우 의도했던 결과에 대해 기술합니다.
1 2 3 4 5 | 의자 chair 椅子 의자 chair 椅子 korStr = 의자 chair 椅子 scannerKorStr = 의자 chair 椅子 bfKorStr = 의자 chair 椅子 | cs |
입력 받은 문자열을 그대로 출력
3. 실제 실행 된 결과
- 실제 실행된 결과를 이곳에 기술합니다.
- 컴파일 오류의 경우에는 해당 에러코드나 메세지를 같이 기술합니다. (가능하면 Warning까지 기술합니다,)
java debug console
1 2 3 4 5 | 의자 chair 椅子
의자 chair 椅子
korStr = 의자 chair 椅子
scannerKorStr = �� chair ��
bfKorStr = �� chair �� | cs |
cmd
1 2 3 4 5 6 7 8 9 | Microsoft Windows [Version 10.0.19041.508] (c) 2020 Microsoft Corporation. All rights reserved. C:inputTest>java Test.java 의자 chair 椅子
의자 chair 椅子
korStr = ?쓽?옄 chair 濾끻춴
scannerKorStr = 의자 chair 椅子
bfKorStr = 의자 chair 椅子 | cs |
4. 코드
- 최소한으로 분석에 필요한 만큼의 코드를 이곳에 붙여넣습니다.
- 작성한 코드 전체를 붙여넣거나, 코드의 스크린샷을 찍어 첨부하는 행위는 권장되지 않습니다.
- 디시는 좆병신 사이트라 코드를 붙여넣으면 전부 잘려나가므로 컬러스크립트를 이용하거나, GitHub 레포, Gist 등에 업로드 후 링크를 붙여넣으시기 바랍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Test { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String korStr = "의자"; String scannerKorStr = sc.nextLine(); String bfKorStr = bf.readLine(); System.out.println("korStr = " + korStr); System.out.println("scannerKorStr = " + scannerKorStr); System.out.println("bfKorStr = " + bfKorStr); return; } } | cs |
소스 코드 인코딩: UTF-8 (VS Code 우하단 참조)
5. 첨부자료
6. 추가 자료
+이클립스에선 잘됨
1 2 3 4 5 6 | C:inputTest> cd c:inputTest && c:Usersyun.vscodeextensionsscjava.vscode-java-debug-0.28.0scrle-preview -XX:+ShowCodeDetailsInExceptionMessagiptslauncher.bat "C:Program FilesJavajdk-14.0.2injava.exe" -agentlib:jdwp=transport=dt_socket,4a6deac436bdf5c1
edhat.javajdt_wsinputTest_feserver=n,suspend=y,address=localhost:8196 --enable-preview -XX:+ShowCodeDetailsInExceptionMessages -Dfile.encoding=UTF-8 -cp C:UsersyunAppDataRoamingCodeUserworkspaceStorage38491e3a49f06ba4a6deac436bdf5c1
edhat.javajdt_wsinputTest_fe88a7c4in Test 의자 chair 椅子 의자 chair 椅子 korStr = 의자 chair 椅子 scannerKorStr = �� chair �� bfKorStr = �� chair �� | cs |
터미널 출력 결과
Scanner(System.in,"UTF-8"); 결과
----
이 질문을 GitHub 마이너 갤러리에 작성함으로서, 다음과 같은 사실에 동의합니다:
i) 답변 받은 질문글을 삭제하지 않음에 동의합니다.
ii) 원하는 질과 양의 답변이 제공되지 않을 수 있음에 동의합니다.
iii) 제공받은 답변으로 인하여 발생한 피해에 대해 스스로 책임짐에 동의합니다.
질문을 등록하기 전 다음 사항을 점검하였습니다.:
i) 질문하고자 하는 내용이 확실하고 구체적입니다.
ii) 자신이 무엇을 알고 있고, 무엇을 모르는 지 정확히 기술하였습니다.
iii) ㅠㅠㅠㅠ 거리며 징징 짜지 않았습니다.
https://pastebin.pl/view/fc57b57b
첨부자료 텍스트
-Dfile.encoding=utf-8 옵션 넣어서 실행
6번 참조해줘
new Scanner(System.in, "UTF-8")
BuggeredReader는
https://stackoverflow.com/a/13350772
이거 참고
Buffered*
6번 말미에 결과 첨부함 도무지 왜 이러는지 모르겠는데 뭘 검색해야 될지도 모르겠고... 검색어라도 던져주라
cmd 폰트 뭐 쓰냐
굴림
new Scanner(new InputStreamReader(System.in, "UTF-8"))
눈에 보기엔 그대로인데 스샷 올려볼까?
아니
이클립스에서 잘되는거 보면 근데 java 컴파일러 옵션을 바꾸거나 콘솔 쪽 설정 폰트, 인코딩을 손봐야 하는거 아님?
cmd에다 chcp 쳤을 때 뭐라 뜸?
949
vs code 자바 디버그 콘솔은 65001으로 설정되어있음 이거는 근데 배치파일에서 바꿀 수 있게 되어있움
chcp 65001 하고 다시 해봐
의자 chair 椅子 의자 chair 椅子 korStr = ?? chair 椅子 scannerKorStr = 00 chair 00 bfKorStr = `` chair ``
깨진 문자 그대로 올린거 스샷이랑 다름
그럼 이유를 모르겠는데
cmd 설정도 뭐 초기화 이런거 있음? 그냥 윈도우 미는게 빠를까? 아니면 소스코드 인코딩이 뭐 잘못된건가?
cmd 버리고
https://github.com/microsoft/terminal/
이거 써라. System.in이랑 System.out utf8로 바꿨는데 안 된다. 근데 저 터미널은 되네