姓名:赵刘晨康 学号:21021211113 学院:电子工程院
在学习Javaweb的时候,使用测试文件进行调试,出现“编码GBK 的不可映射字符”报错。这种错误是编码问题导致的。
我的测试代码是直接粘贴在记事本中改扩展名建立的,编码默认是UTF-8
解决办法:将文件另存为ANSI编码的格式,再次进行编译将不会报错。
介绍一下不同的文件编码
ANSI:美国国家标准协会,系统预设的标准文字储存格式。简体中文编码GB2312,实际上它是ANSI的一个代码页936
UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。
在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。