关于乱码

登陆页面 格式有的是:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<p>帐号: <input type="username" name="username"></p>
<p>密码: <input type="password" name="password"></p>

用jdbcodbc桥接,连接数据库:

               String name=request.getParameter("username");
String pwd=request.getParameter("password");

//out.println(name);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:ES","sa","sa");
Statement stmt=con.createStatement();
//ResultSet rs=stmt.executeQuery("select * from rrt_login where username='" + name + "' and password='" + pwd + "'");

String sql="select * from rrt_login where username='" + name + "' and password='" + pwd + "'";
//out.println(sql);
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
out.println("登录成功!");
}
else{
out.println("登录失败!");
}

问题:登陆失败!

分析:数据库连接成功,但是数据传输失败。

逐步调试,先输出rs的内容,发现为这样:sun.jdbc.odbc.JdbcOdbcResultSet@c792d4

然后输出sql的内容,发现为:select * from rrt_login where username='唐宏康' and password='123'

所以判断“username”数据传输失败

再输出name,结果为:唐宏康


判定为数据传输出现乱码,寻找结果解决,测试后,方法是:

将String name=request.getParameter("username");改为String name=new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");


### 解决VSCode中的中文乱码问题 #### 文件编码设置 为了确保文件能够正确读取和显示中文字符,在VSCode中应检查并调整文件编码设置。具体操作是在全局或工作区设置中搜索`files.encoding`选项,并将其值设为`utf-8`[^2]。 ```json { "files.encoding": "utf-8" } ``` #### 字体配置 如果发现即使设置了正确的编码仍然存在乱码现象,则可能是因为当前使用的编辑器字体不支持某些汉字的渲染。此时可以考虑更换一种兼容性更好的中文字体,比如Microsoft YaHei、SimSun等。通过进入VSCode的首选项->设置界面,找到Editor: Font Family这一项来进行更改: ```json "editor.fontFamily": "'Courier New', monospace, 'Microsoft Yahei'" ``` #### 配置C/C++项目环境(针对ROS开发者) 对于涉及ROS开发的同学来说,当首次编写包含`#include <ros/ros.h>`这样的头文件声明时可能会遇到编译错误提示找不到对应的库路径。这时需要手动编辑`.vscode/c_cpp_properties.json`来指定额外的包含目录,例如添加如下内容以指向本地安装好的ROS包位置[^3]: ```json { ... "configurations": [ { ... "includePath": [ "${workspaceFolder}/**", "/opt/ros/noetic/include/", "/home/user_name/VScode_ws/src/demo01_helloworld_vs/include/**" ], ... } ] } ``` #### Windows系统特定步骤 如果是Windows操作系统用户,在完成上述两项基本设定之后还应该进一步确认系统的区域性和语言选项是否已启用Beta版:使用Unicode UTF-8作为默认ANSI代码页的功能。按照提示勾选相应选项后点击“确定”,重启计算机使改动生效[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值