在Java中保留从varchar值中获取的中文/韩文字符,可以通过以下步骤实现:
System.setProperty("file.encoding", "UTF-8")
来设置默认字符集为UTF-8。new String(value.getBytes("ISO-8859-1"), "UTF-8")
来将ISO-8859-1编码的字符串转换为UTF-8编码的字符串。以下是一个示例代码:
import java.sql.*;
public class Main {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/db_name?characterEncoding=utf8";
String username = "username";
String password = "password";
try {
// 设置默认字符集为UTF-8
System.setProperty("file.encoding", "UTF-8");
// 连接数据库
Connection connection = DriverManager.getConnection(url, username, password);
// 执行查询语句
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT column_name FROM table_name");
// 获取varchar值并进行解码
while (resultSet.next()) {
String value = resultSet.getString("column_name");
String decodedValue = new String(value.getBytes("ISO-8859-1"), "UTF-8");
System.out.println(decodedValue);
}
// 关闭连接
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
请注意,以上代码仅为示例,实际使用时需要根据具体的数据库和表结构进行调整。另外,如果数据库中的数据本身就是以UTF-8编码存储的,可以省略步骤2和步骤3中的字符集转换操作。
推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云云服务器(CVM)、腾讯云云函数(SCF)等。你可以通过访问腾讯云官方网站获取更详细的产品介绍和文档信息。
领取专属 10元无门槛券
手把手带您无忧上云