• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Mysql中文乱码有关问题解决方案

mysql 搞代码 7年前 (2018-06-04) 138次浏览 已收录 0个评论

mysql中文乱码问题解决方案

最近用 mysql 做一个远程教学的软件,可是发现一旦向 mysql 中存入中文就会显示“?”,在 eclipse 中读取数据显示的也是“?”,搞的要死,在网上查了相关的解决方案,可是效果都不是很好,都无法解决我的问题,最后自我摸索出一个解决方法。

Mysql 中文乱码出现的可能性应该有:

数据库在安装时没有选择默认为中文的格式,比如 utf8 gbk ,而是 latin1 等,解决这一问题,可以在安装目录下的 my.ini 文件中修改参数:图片示例如下,将左边的改为右边的样子:

 Mysql中文乱码有关问题解决方案Mysql中文乱码有关问题解决方案Mysql中文乱码有关问题解决方案Mysql中文乱码有关问题解决方案

以上是我看到的许多的网友的解决方法,我试了许多次,可是结果还是不行,后来我分析这可能和解决中文乱码问题没有什么关系,因为这里的编码设置都是默认的的格式,如果我们的表格的格式是其他的格式,应该就是显示其他的格式了,一样会出现中文乱码的问题。我觉得解决 mysql 数据库乱码问题的解决方法是设置表的数据格式为中文兼容格式,比如 gbk utf8 等,

方法一:操作图如下:

 上图改为下图:

Mysql中文乱码有关问题解决方案 Mysql中文乱码有关问题解决方案

 

方法二:将该数据库导出,生成 sql 文件,打开文件,将所有之前的格式(比如 latin1 )全部替换为 gbk 。再从新将 sql 文件导入,这时就解决了 mysql 数据库乱码的问题了。

 

java代码:

package csu.tm_learning_client.comm;  import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;  public class DBUtil {  private Connection conn;  /**   * @param args   */  public static void main(String[] args) {   DBUtil db = new DBUtil();   db.conn = db.getConnection();   db.addUser();   db.selectUser();  }   public Connection getConnection() {   if (conn != null) {    return conn;   } else {    try {     // 加载驱动程序     Class.forName("com.mysql.jdbc.Driver");     // 连续数据库     conn = DriverManager.getConnection(       "jdbc:mysql://127.0.0.1:3306/tm_learning", "root",       "netjava");    } catch (Exception ef) {     ef.printStackTrace();    }   }   return conn;  }   public int addUser() {   try {     if (!conn.isClosed()) {     // statement用来执行SQL语句     Statement statement = conn.createStatement();     // 要执行的SQL语句     String sql = "insert into userinfo(name,password) values('小路','aaa')";     // 结果集     int rs = statement.executeUpdate(sql);     return rs;    }   } catch (Exception e) {    e.printStackTrace();   }   return 0;  }   public int selectUser() {   try {    if (!conn.isClosed()) {     // statement用来执行SQL语句     Statement statement = conn.createStatement();     // 要执行的SQL语句     String sql = "select *from userinfo";     // 结果集     ResultSet rs = statement.executeQuery(sql);     while (rs.next()) {      String name = rs.getString("name");      System.out.println(name);     }    }   } catch (Exception e) {     e.printStackTrace();   }   return 0;  } } 

欢迎大家阅读《Mysql中文乱码有关问题解决方案》,跪求各位点评,by 搞代码

 

 打印结果:

小路 小路 小路 小路 小路

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql中文乱码有关问题解决方案
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址