`

mssql数据往mysql导数据时,出现mysql数据为乱码问题?

    博客分类:
  • 2007
阅读更多

import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TempClass {

 /**
  * @param args
  * @throws UnsupportedEncodingException
  * @throws ClassNotFoundException
  * @throws SQLException
  */
 public static void main(String[] args) throws UnsupportedEncodingException {
  String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=tran";
  try {
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
   Connection conn = DriverManager.getConnection(url, "sa", "sa");
   Statement st = conn.createStatement();
   ResultSet rs = st.executeQuery("select vcword from cn_other");

   // mysql
   String url_mysql = "jdbc:mysql://127.0.0.1:3306/zwspace";
   Class.forName("org.gjt.mm.mysql.Driver");
   Connection conn_mysql = DriverManager.getConnection(url_mysql,
     "root", "root");
   PreparedStatement st_mysql = conn_mysql
     .prepareStatement("insert into chds_cihui(name) values(?)");

   if (rs.next()) {

    String rsname = rs.getString("vcword");
    // String name = new String(rsname.getBytes("GB2312"),
    // "GB2312");
    // String name = new String(rsname.getBytes("UTF-8"), "GB2312");
    // String name = new String(rsname.getBytes("utf8"), "GB2312");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "GB2312");
    // String name = new String(rsname.getBytes("GBK"), "GB2312");

    // String name = new String(rsname.getBytes("GBK"), "GBK");
    // String name = new String(rsname.getBytes("GB2312"), "GBK");
    // String name = new String(rsname.getBytes("UTF-8"), "GBK");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "GBK");

    // String name = new String(rsname.getBytes("GBK"), "UTF-8");
    // String name = new String(rsname.getBytes("GB2312"), "UTF-8");
    // String name = new String(rsname.getBytes("UTF-8"), "UTF-8");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "UTF-8");

    // String name = new String(rsname.getBytes("GBK"),
    // "iso-8859-1");
    // String name = new String(rsname.getBytes("GB2312"),
    // "iso-8859-1");
    // String name = new String(rsname.getBytes("UTF-8"),
    // "iso-8859-1");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "iso-8859-1");

    // String name = new String(rsname.getBytes(), "GBK");
    // String name = new String(rsname.getBytes(), "GB2312");
    // String name = new String(rsname.getBytes(), "UTF-8");
    // String name = new String(rsname.getBytes(), "iso-8859-1");
    String name = rsname;

    System.out.println(rsname);

    st_mysql.setString(1, name);
    st_mysql.executeUpdate();
   }
   rs.close();
   st.close();
   conn.close();

   st_mysql.close();
   conn_mysql.close();

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }

}



试过以上的所有编码都无法解决数据在MYSQL中的乱码问题,看来是jdbc连mysql时的编码不对,于是
将   String url_mysql="jdbc:mysql://127.0.0.1:3306/zwspace";后加上编码
   String url_mysql="jdbc:mysql://127.0.0.1:3306/zwspace?useUnicode=true&characterEncoding=utf8";终于OK了

分享到:
评论

相关推荐

    MsSql数据导入MySql

    3. **编码问题**:确保数据文件的字符编码与MySQL服务器的字符集一致,避免乱码问题。 4. **大小写敏感性**:MySQL默认是区分大小写的,而MSSQL通常不区分。可能需要调整MySQL的表名、列名或索引的大小写设置。 5. *...

    SQLSERVER访问MYSQL表中文显示成乱码.pdf

    在IT行业中,数据库的互操作性是常见的需求,特别是当不同的业务系统需要共享数据时。本问题涉及到SQL Server访问MySQL数据库时遇到的字符编码问题,导致中文显示为乱码。以下是对这个问题的详细分析和解决方法。 ...

    在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法

    本文将详细介绍如何解决在DELPHI中使用MyDAC连接MySQL数据库时出现的中文乱码问题。 #### 原因分析 中文乱码问题通常由以下几个方面的原因引起: 1. **客户端与服务器端编码不一致**:DELPHI客户端与MySQL服务器...

    mssql转mysql的odbc程序

    在“mssql转mysql的odbc程序”这个场景中,我们主要关注的是如何利用ODBC将SQL Server数据库的数据迁移至MySQL数据库。 1. SQL Server与MySQL简介: - SQL Server:是微软公司开发的关系型数据库管理系统,广泛...

    解决MySQL Migration Toolkit导入乱码

    本篇文章详细介绍了如何使用MySQL Migration Toolkit解决从MS SQL Server向MySQL迁移数据时出现的乱码问题。通过正确配置源数据库和目标数据库的字符集,可以确保数据迁移过程中的字符完整性。希望本文能帮助你在...

    python查询mysql中文乱码问题

    Python查询MySQL时遇到的中文乱码问题是一个常见的编程困扰,特别是在使用Python 2.7版本时更为突出。本文将深入探讨这个问题的成因,并提供一套详细的解决方案。 首先,我们需要了解问题的根本原因。当Python与...

    mysql数据库互相转换及同步工具-MySQL_MySQL字符集互转

    字符集的选择直接影响到数据的存储和显示,尤其是在处理多语言或特定语言环境的数据时。在不同系统之间迁移数据库时,字符集的不匹配可能会导致乱码问题,因此字符集的转换至关重要。 1. **字符集的概念**:字符集...

    MSSQL转MYSQL,gb2312转utf-8无乱码解决方法

    在这个过程中,如果不正确处理字符编码,可能会导致数据导入后出现乱码问题。本文将详细介绍如何通过MySQLMigrationTool解决这个问题,确保数据迁移过程中无乱码。 首先,遇到“提示数据过大,无法导入”的情况,...

    Sqlserver数据库转成mysql数据库详解

    - **编码一致性**:确保SQL Server和MySQL数据库使用的字符集编码相同,避免数据迁移时出现乱码问题。 - **数据类型转换**:由于SQL Server和MySQL的数据类型有所不同,在迁移过程中需要注意对特殊数据类型的转换...

    MySQL掌握备份恢复工具mysqldump实践

    如果数据表使用非默认的`latin1`字符集,则必须使用该选项,否则再次导入数据时可能会出现乱码问题。 4. **--disable-keys** - 在INSERT语句的开头和结尾添加`/*!40000 ALTERTABLE table DISABLE KEYS */;` 和 `/*...

    MSSQL转MySQL数据库的实际操作记录

    - **编码问题**:在导入数据时,如果源数据库和目标数据库的字符集不一致,可能导致中文乱码。解决方法是在执行导入命令时指定字符集,例如使用`--default-character-set=gbk`参数。示例命令如下: ```bash ...

    php查询mssql出现乱码的解决方法

    需要注意的是,在处理乱码问题时,需要按照实际情况分析问题出现的环节,并且进行针对性的解决。如果问题出现在数据库层面,就需要检查和修改数据库的编码设置;如果问题出现在PHP代码层面,则需要调整PHP文件的编码...

    MSSQL转MYSQL的一些记录

    - **问题描述:** 如果源MSSQL数据库和目标MYSQL数据库的字符集不一致,可能会导致中文乱码。 - **解决方案:** 在执行导入操作时,可以通过命令行参数指定字符集,例如使用`--default-character-set=gbk`。 通过...

    全国高校数据库脚本MSSql

    【全国高校数据库脚本 MSSql】是一份专为高校数据管理设计的SQL Server脚本集。这份脚本集主要用于在Microsoft SQL Server环境下创建、管理和优化与全国高校相关的数据库结构。MS SqlServer是一款由微软开发的关系型...

    delphi-mysql5.x

    它可能还会涉及如何处理字符集设置,以避免在处理多语言数据时出现乱码问题。正确设置字符集,比如设置为UTF-8,是确保与MySQL通信时正确显示非ASCII字符的关键。 在实际应用中,开发者通常会使用TSQLConnection...

    多功能编码转换工具_多功能编码转换_

    6. **数据库迁移**:在不同数据库系统间迁移数据时,编码转换工具可以确保数据结构和内容的完整迁移,避免因编码差异导致的数据损坏或丢失。 7. **数据一致性**:通过编码转换,工具确保了数据库在不同环境中保持...

    mysql migration toolkit5.0 使用说明

    - 为防止中文乱码,选择 Migration type of MSSQL Schema 为 Multilanguage。 - 对于 Migration type of MSSQL Table,可配置 Charset、Collation 和 Engine 等参数。 - 点击下一步,进入 Manual Editing 页面。 ...

Global site tag (gtag.js) - Google Analytics