java控制台程序-读取输入的字符串,其中文字符变成乱码问题

GBK编码操作系统(如中文win7系统),在编写控制台程序时,

当读取控制台输入含中文的字符串出现乱码时可以通过以下方法解决:

前提:String strInput 保存了由控制台输入的字符串。

解决办法代码:

  byte[] byteInput = strInput.getBytes("ISO-8859-1");

  strInput = new String(byteInput, "GBK");

这样strInput中的中文字符便可正常。

时间: 2024-10-13 02:59:48

java控制台程序-读取输入的字符串,其中文字符变成乱码问题的相关文章

java循环练习:输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符

package practiceGO; import java.util.Scanner; /*  * 3.输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符  */ public class Cto { public static void main(String[] args) {         int englishCount = 0;// 英文字母个数         int spaceCount = 0;// 空格个数         int numCoun

Java应用程序中System.out.println输出中文乱码

Java应用程序中System.out.println输出中文乱码 2013-12-10 21:27:08cnblogs.com-bluepoint2009-点击数:3631 其实,解决办法比较简单,即:编译时指定编码为UTF-8,如: 1 javac -encoding utf-8 HelloJava.java 这样,再运行时就不会出现乱码. 一.中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理.随着计算机的发

输入一个字符串,求字符的所有排列

#include <iostream> #include <cstring> #include <string> using namespace std; void ComStr(char *str, string &s,int m) { if (m == 0) { cout<<s<<endl; return ; } if (*str != '\0') { s.push_back(*str); ComStr(str+1,s ,m-1);

从键盘输入一个字符串,按照字符顺序从小到大进行选择排序,并要求删除重复的字符

/* 从键盘输入一个字符串,按照字符顺序从小到大进行选择排序,并要求删除重复的字符 思路: 选择排序:比较找到最小的下标,和第i个交换位置. 删除重复字符:用k计算不相等的个数,替换. */ #include <stdio.h> #include<string.h> void insetsort(char *str,int n){ int i,j,min,temp,k; char sh[n]; for(i=0;i<n;i++){ min=i; for(j=i+1;j<n

【Java基础】Java中的char是否可以存储一个中文字符之理解字符字节以及编码集

Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的. 但是在C/C++中由于采用的字符编码集是ASCII,只有一个字节,因此是没办法表示一个中文字符的. 解答了上面的浅显易懂的问题之后,下面彻底理清楚字符 字节以及编码的原理. 其实关于编码以及字节的问题,在腾讯实习生一面的时候也问到过,当时搞不懂面试官为什么会问这个问题,现在想想,这个问题还是很考验一个人的思考以及钻研深度的,而且这个问题远远比自己想象

用 java 编写程序实现输入4个整数输出4个整数的和

源代码: /*Duo Ya Fan*/ /*2015 9 23 */ /* 用于输入4个整数并输出4个整数的和*/  import java.util.*; public class JiSuan {    public static void main(String args[])   {       int count;//count用来表示第几个数       double next,sum;//next,sum 分别用来存放输入的4个整数和4个整数的和.       sum=0;//对s

黑马程序员——统计一个字符串中各个字符出现的次数

统计一个字符串中各个字符出现的次数 import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TreeMapDemo { //统计一个字符串中相应字符出现的次数 public static void main(String[] args) { // String s = "aagfagdlkerjgavpofjmvglk我是你的"; //调用自定义方法来 统计相应字符出

java中向Mysql插入中文字符出现乱码

昨天新建了个Mysql数据库表,在JAVA中插入中文字符时,发现数据库中的插入结果是乱码.实际是字符集不符合问题. 针对这个问题的解决方法有很多,例如这个文章java与mysql乱码的问题不过我建议将表删掉重新建表,建表时默认字符集设置为UTF-8,这样可以避免以后出现各种问题. 可以通过语句show create table table_name来查看该表的编码格式.例如我的是: CREATE TABLE `blog` ( `title` varchar(30) NOT NULL DEFAUL

控制台程序console输入参数 获取参数

class Program    {        static void Main(string[] args)        {                                 if (args.Length > 0)                Console.WriteLine(args[args.Length - 1]); //cd到控制台编译的debug文件夹 输入 Redis.exe 111 aaa ddd 打印出:ddd            Console.R