命令行下输入javac后出现乱码

时间:2021-12-26 14:41:42
好长一阵子没有用Java了,今天见到一个有意思的程序想运行一下。
突然发现命令行下输入javac后出现乱码。
不知道怎么回事?

29 个解决方案

#1


哦,补充一下。代码本身正确的话是可以运行出来结果的。

#2


什么乱码啊?給发上来看看.别弄的是病毒乱码.那就坏菜了

#3



C:\Documents and Settings\admin>javac
╙├╖¿ú║javac <╤í╧ε> <╘┤╬─╝■>
╞Σ╓╨ú¼┐╔─▄╡─╤í╧ε░ⁿ└¿ú║
  -g                         ╔·│╔╦∙╙╨╡≈╩╘╨┼╧ó
  -g:none                    ▓╗╔·│╔╚╬║╬╡≈╩╘╨┼╧ó
  -g:{lines,vars,source}     ╓╗╔·│╔─│╨⌐╡≈╩╘╨┼╧ó
  -nowarn                    ▓╗╔·│╔╚╬║╬╛»╕µ
  -verbose                   ╩Σ│÷╙╨╣╪▒α╥δ╞≈╒²╘┌╓┤╨╨╡─▓┘╫≈╡─╧√╧ó
  -deprecation               ╩Σ│÷╩╣╙├╥╤╣²╩▒╡─ API ╡─╘┤╬╗╓├
  -classpath <┬╖╛╢>            ╓╕╢¿▓Θ╒╥╙├╗º└α╬─╝■║═╫ó╩═┤ª└φ│╠╨≥╡─╬╗╓├
  -cp <┬╖╛╢>                   ╓╕╢¿▓Θ╒╥╙├╗º└α╬─╝■║═╫ó╩═┤ª└φ│╠╨≥╡─╬╗╓├
  -sourcepath <┬╖╛╢>           ╓╕╢¿▓Θ╒╥╩Σ╚δ╘┤╬─╝■╡─╬╗╓├
  -bootclasspath <┬╖╛╢>        ╕▓╕╟╥²╡╝└α╬─╝■╡─╬╗╓├
  -extdirs <─┐┬╝>              ╕▓╕╟░▓╫░╡─└⌐╒╣─┐┬╝╡─╬╗╓├
  -endorseddirs <─┐┬╝>         ╕▓╕╟╟⌐├√╡─▒Ω╫╝┬╖╛╢╡─╬╗╓├
  -proc:{none,only}          ┐╪╓╞╩╟╖±╓┤╨╨╫ó╩═┤ª└φ║═/╗≥▒α╥δíú
  -processor <class1>[,<class2>,<class3>...]╥¬╘╦╨╨╡─╫ó╩═┤ª└φ│╠╨≥╡─├√│╞ú╗╚╞╣²─¼╚
╡─╦╤╦≈╜°│╠
  -processorpath <┬╖╛╢>        ╓╕╢¿▓Θ╒╥╫ó╩═┤ª└φ│╠╨≥╡─╬╗╓├
  -d <─┐┬╝>                    ╓╕╢¿┤µ╖┼╔·│╔╡─└α╬─╝■╡─╬╗╓├
  -s <─┐┬╝>                    ╓╕╢¿┤µ╖┼╔·│╔╡─╘┤╬─╝■╡─╬╗╓├
  -implicit:{none,class}     ╓╕╢¿╩╟╖±╬¬╥■╩╜╥²╙├╬─╝■╔·│╔└α╬─╝■
  -encoding <▒α┬δ>             ╓╕╢¿╘┤╬─╝■╩╣╙├╡─╫╓╖√▒α┬δ
  -source <░µ▒╛>               ╠ß╣⌐╙δ╓╕╢¿░µ▒╛╡─╘┤╝µ╚▌╨╘
  -target <░µ▒╛>               ╔·│╔╠╪╢¿ VM ░µ▒╛╡─└α╬─╝■
  -version                   ░µ▒╛╨┼╧ó
  -help                      ╩Σ│÷▒Ω╫╝╤í╧ε╡─╠ß╥¬
  -Akey[=value]              ┤½╡▌╕°╫ó╩═┤ª└φ│╠╨≥╡─╤í╧ε
  -X                         ╩Σ│÷╖╟▒Ω╫╝╤í╧ε╡─╠ß╥¬
  -J<▒Ω╓╛>                     ╓▒╜╙╜½ <▒Ω╓╛> ┤½╡▌╕°╘╦╨╨╩▒╧╡═│

#4


你这个还没编译东西呢,不是 Java 的问题,是操作系统控制台编码的问题。

#5


那个乱码应该是汉字吧 我机器上是这样的

#6


乱码都是汉字

#7


乱码应该是汉字,我以前检测jdk安装是否成功的时候就是显示的汉字。
我也怀疑是系统本身编码的问题,可是不知道到底是怎么了
还请高手帮忙!

#8


操作系统的问题  区域和语言选项中折腾一下吧

#9


看看任务管理里有没有这个进程:ctfmon.exe
如果没有到其它机器里拷一份到你的机器里.

#10


引用 4 楼 bao110908 的回复:
你这个还没编译东西呢,不是 Java 的问题,是操作系统控制台编码的问题。

像是这个原因

#11


重新安装jdk

#12


你自己系统编码问题

#13


我认为和jdk没有关系,是你系统的原因。

#14


引用 9 楼 bigbug9002 的回复:
看看任务管理里有没有这个进程:ctfmon.exe 
如果没有到其它机器里拷一份到你的机器里.


  我用java这么久,还没碰到LZ这样的问题
   

#15


上系统区域语言选项中倒腾倒腾,
 跟你的java环境无关。

#16


用这么久了没碰到LZ的问题

#17


系统编码的问题。

#18


已经试过了,还是这样

#19


这是javac命令的解释
估计数是中文版JDK
但是windows  DOS是可以显示中文的
和系统有关与JDK本身并没有什么问题

#20


引用 15 楼 dawnbear 的回复:
上系统区域语言选项中倒腾倒腾, 
跟你的java环境无关。


可能就是操作系统版本 与 系统区域语言选项设置的问题了

#21


嗯,字符集的问题

#22


http://www.indeep.cn/read.php?tid=70759
看看这个,也许你的问题和他的一样.

#23


另外还发现一个问题,就是在命令行写入一个命令,任意写个错误的ashdfa
我记得这样的情况下以前提示 的是“ ashdfa不是内部外部的命令.....”这样的汉语
不过现在是'ashdfa' is not recognized as an internal or external command,
operable program or batch file.

#24


http://topic.csdn.net/u/20090705/16/1fc735cd-9b48-47eb-ba74-fbde5873cdb2.html

#25


大家请看这里,

http://topic.csdn.net/u/20090705/16/1fc735cd-9b48-47eb-ba74-fbde5873cdb2.html

#26


网上学来的一个方法,反正我的问题解决了
开始
cmd

reg add HKEY_CURRENT_USER\Console\%"SystemRoot"%_system32_cmd.exe /v CodePage /t REG_DWORD /d 936 /f

#27


开始
运行
cmd

reg add HKEY_CURRENT_USER\Console\%"SystemRoot"%_system32_cmd.exe /v CodePage /t REG_DWORD /d 936 /f

#28


中文乱码?你可改成utf-8,或者那个是人家封装好的代码?

#29


4楼正解!

#1


哦,补充一下。代码本身正确的话是可以运行出来结果的。

#2


什么乱码啊?給发上来看看.别弄的是病毒乱码.那就坏菜了

#3



C:\Documents and Settings\admin>javac
╙├╖¿ú║javac <╤í╧ε> <╘┤╬─╝■>
╞Σ╓╨ú¼┐╔─▄╡─╤í╧ε░ⁿ└¿ú║
  -g                         ╔·│╔╦∙╙╨╡≈╩╘╨┼╧ó
  -g:none                    ▓╗╔·│╔╚╬║╬╡≈╩╘╨┼╧ó
  -g:{lines,vars,source}     ╓╗╔·│╔─│╨⌐╡≈╩╘╨┼╧ó
  -nowarn                    ▓╗╔·│╔╚╬║╬╛»╕µ
  -verbose                   ╩Σ│÷╙╨╣╪▒α╥δ╞≈╒²╘┌╓┤╨╨╡─▓┘╫≈╡─╧√╧ó
  -deprecation               ╩Σ│÷╩╣╙├╥╤╣²╩▒╡─ API ╡─╘┤╬╗╓├
  -classpath <┬╖╛╢>            ╓╕╢¿▓Θ╒╥╙├╗º└α╬─╝■║═╫ó╩═┤ª└φ│╠╨≥╡─╬╗╓├
  -cp <┬╖╛╢>                   ╓╕╢¿▓Θ╒╥╙├╗º└α╬─╝■║═╫ó╩═┤ª└φ│╠╨≥╡─╬╗╓├
  -sourcepath <┬╖╛╢>           ╓╕╢¿▓Θ╒╥╩Σ╚δ╘┤╬─╝■╡─╬╗╓├
  -bootclasspath <┬╖╛╢>        ╕▓╕╟╥²╡╝└α╬─╝■╡─╬╗╓├
  -extdirs <─┐┬╝>              ╕▓╕╟░▓╫░╡─└⌐╒╣─┐┬╝╡─╬╗╓├
  -endorseddirs <─┐┬╝>         ╕▓╕╟╟⌐├√╡─▒Ω╫╝┬╖╛╢╡─╬╗╓├
  -proc:{none,only}          ┐╪╓╞╩╟╖±╓┤╨╨╫ó╩═┤ª└φ║═/╗≥▒α╥δíú
  -processor <class1>[,<class2>,<class3>...]╥¬╘╦╨╨╡─╫ó╩═┤ª└φ│╠╨≥╡─├√│╞ú╗╚╞╣²─¼╚
╡─╦╤╦≈╜°│╠
  -processorpath <┬╖╛╢>        ╓╕╢¿▓Θ╒╥╫ó╩═┤ª└φ│╠╨≥╡─╬╗╓├
  -d <─┐┬╝>                    ╓╕╢¿┤µ╖┼╔·│╔╡─└α╬─╝■╡─╬╗╓├
  -s <─┐┬╝>                    ╓╕╢¿┤µ╖┼╔·│╔╡─╘┤╬─╝■╡─╬╗╓├
  -implicit:{none,class}     ╓╕╢¿╩╟╖±╬¬╥■╩╜╥²╙├╬─╝■╔·│╔└α╬─╝■
  -encoding <▒α┬δ>             ╓╕╢¿╘┤╬─╝■╩╣╙├╡─╫╓╖√▒α┬δ
  -source <░µ▒╛>               ╠ß╣⌐╙δ╓╕╢¿░µ▒╛╡─╘┤╝µ╚▌╨╘
  -target <░µ▒╛>               ╔·│╔╠╪╢¿ VM ░µ▒╛╡─└α╬─╝■
  -version                   ░µ▒╛╨┼╧ó
  -help                      ╩Σ│÷▒Ω╫╝╤í╧ε╡─╠ß╥¬
  -Akey[=value]              ┤½╡▌╕°╫ó╩═┤ª└φ│╠╨≥╡─╤í╧ε
  -X                         ╩Σ│÷╖╟▒Ω╫╝╤í╧ε╡─╠ß╥¬
  -J<▒Ω╓╛>                     ╓▒╜╙╜½ <▒Ω╓╛> ┤½╡▌╕°╘╦╨╨╩▒╧╡═│

#4


你这个还没编译东西呢,不是 Java 的问题,是操作系统控制台编码的问题。

#5


那个乱码应该是汉字吧 我机器上是这样的

#6


乱码都是汉字

#7


乱码应该是汉字,我以前检测jdk安装是否成功的时候就是显示的汉字。
我也怀疑是系统本身编码的问题,可是不知道到底是怎么了
还请高手帮忙!

#8


操作系统的问题  区域和语言选项中折腾一下吧

#9


看看任务管理里有没有这个进程:ctfmon.exe
如果没有到其它机器里拷一份到你的机器里.

#10


引用 4 楼 bao110908 的回复:
你这个还没编译东西呢,不是 Java 的问题,是操作系统控制台编码的问题。

像是这个原因

#11


重新安装jdk

#12


你自己系统编码问题

#13


我认为和jdk没有关系,是你系统的原因。

#14


引用 9 楼 bigbug9002 的回复:
看看任务管理里有没有这个进程:ctfmon.exe 
如果没有到其它机器里拷一份到你的机器里.


  我用java这么久,还没碰到LZ这样的问题
   

#15


上系统区域语言选项中倒腾倒腾,
 跟你的java环境无关。

#16


用这么久了没碰到LZ的问题

#17


系统编码的问题。

#18


已经试过了,还是这样

#19


这是javac命令的解释
估计数是中文版JDK
但是windows  DOS是可以显示中文的
和系统有关与JDK本身并没有什么问题

#20


引用 15 楼 dawnbear 的回复:
上系统区域语言选项中倒腾倒腾, 
跟你的java环境无关。


可能就是操作系统版本 与 系统区域语言选项设置的问题了

#21


嗯,字符集的问题

#22


http://www.indeep.cn/read.php?tid=70759
看看这个,也许你的问题和他的一样.

#23


另外还发现一个问题,就是在命令行写入一个命令,任意写个错误的ashdfa
我记得这样的情况下以前提示 的是“ ashdfa不是内部外部的命令.....”这样的汉语
不过现在是'ashdfa' is not recognized as an internal or external command,
operable program or batch file.

#24


http://topic.csdn.net/u/20090705/16/1fc735cd-9b48-47eb-ba74-fbde5873cdb2.html

#25


大家请看这里,

http://topic.csdn.net/u/20090705/16/1fc735cd-9b48-47eb-ba74-fbde5873cdb2.html

#26


网上学来的一个方法,反正我的问题解决了
开始
cmd

reg add HKEY_CURRENT_USER\Console\%"SystemRoot"%_system32_cmd.exe /v CodePage /t REG_DWORD /d 936 /f

#27


开始
运行
cmd

reg add HKEY_CURRENT_USER\Console\%"SystemRoot"%_system32_cmd.exe /v CodePage /t REG_DWORD /d 936 /f

#28


中文乱码?你可改成utf-8,或者那个是人家封装好的代码?

#29


4楼正解!