精华内容
下载资源
问答
  • 问题描述:用eclipseEE打开jsp文件插入数据到数据库时,中文出现问号。 win10系统,mysql-5.6.41-winx64 解决方案: 打开mysql根目录,寻找到my-default.ini 记事本打开如下: 在开头添加如下代码 ...

    问题描述:用eclipseEE打开jsp文件插入数据到数据库时,中文出现问号。

    win10系统,mysql-5.6.41-winx64

    解决方案:

    • 打开mysql根目录,寻找到my-default.ini

    • 记事本打开如下:

    • 在开头添加如下代码
    [mysql]
    default-character-set=utf8
    

    • 再插入时即正常,无论是通过jsp插入还是用mysql插入。

    展开全文
  • 问题描述MySQL默认编码latin1,使用MySQL客户端(Navcat for MySQlMySQL client)插入中文数据,内容显示正常,但使用Java程序插入中文数据出现中文乱码(问号)。mysql> show variables like 'character%';+----...

    问题描述

    MySQL默认编码是latin1,使用MySQL客户端(Navcat for MySQl或MySQL client)插入中文数据,内容显示正常,但使用Java程序插入中文数据出现中文乱码(问号)。

    mysql> show variables like 'character%';

    +--------------------------+----------------------------------------------+

    | Variable_name | Value |

    +--------------------------+----------------------------------------------+

    | character_set_client | utf8 |

    | character_set_connection | utf8 |

    | character_set_database | latin1 |

    | character_set_filesystem | binary |

    | character_set_results | utf8 |

    | character_set_server | latin1 |

    | character_set_system | utf8 |

    | character_sets_dir | D:\mysql\mysql-5.6.27-winx64\share\charsets\ |

    +--------------------------+----------------------------------------------+

    mysql> create table `messages` (

    -> `id` int(4) not null,

    -> message varchar(50) not null

    -> ) engine=myisam default charset=utf8;

    Query OK, 0 rows affected

    mysql> insert into messages (message) values ("测试MySQL中文显示");

    Query OK, 1 row affected

    mysql> select * from messages;

    +----+-------------------+

    | id | message |

    +----+-------------------+

    | 0 | 测试MySQL中文显示 |

    +----+-------------------+

    1 row in set

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;

    import java.sql.Statement;

    public class JDBCTest {

    public static void main(String[] args) {

    String driver = "com.mysql.jdbc.Driver";

    String url = "jdbc:mysql://localhost:3306/test";

    String user = "root";

    String password = "root";

    try {

    Class.forName(driver);

    Connection conn = DriverManager.getConnection(url, user, password);

    Statement stmt = conn.createStatement();

    stmt.executeUpdate("insert into messages (message) values ('测试MySQL编码')");

    ResultSet rs = stmt.executeQuery("select * from messages");

    while (rs.next()) {

    int id = rs.getInt("id");

    String message = rs.getString("message");

    System.out.println(id + " " + message);

    }

    rs.close();

    stmt.close();

    conn.close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    程序输出

    1 ????MySQL????????

    2 ??MySQL??

    问题解决

    我们看到,尽管使用数据库是我们能够正常添加和显示中文,但是在使用java程序链接数据库时并不能正常显示中文,为此我们需要修改MYSQL的默认编码,编辑my.ini(MySQL配置文件)对默认编码进行修改,设置MySQL的默认字符集为utf8:

    找到客户端配置[client]在下面添加:

    default-character-set=utf8

    找到服务配置[mysqld]在下面添加:

    default-character-set=utf8

    设定MySQL数据库以utf8编码运行,连接MySQL数据库时使用utf8编码。重启MySQl服务

    windows

    net stop mysql

    net start mysql

    linux

    service mysqld restart

    常见问题

    在修改配置文件之后,可能存在mysql无法启动的意外情况;原因可能是出在了MySQL版本问题,试着修改如下写法:

    character-set-server=utf8

    展开全文
  • JAVAmysql数据库插入中文字符都是问号的解决方法

    JAVA 向mysql数据库插入中文字符都是问号的解决方法

    参考文章:

    (1)JAVA 向mysql数据库插入中文字符都是问号的解决方法

    (2)https://www.cnblogs.com/jurkymaomao/p/6539457.html


    备忘一下。


    展开全文
  • mysqljava程序插入中文问号

    千次阅读 2013-09-17 15:24:20
    当我把得到的记录进行处理之后,新建了表B,然后往表B中插入记录时一直无法插入,打印sql语句发现其中的中文部分全部都是问号。按照网友分享的方法,执行以下命令,得到的结果显示并不能解决问题。  先检查各个字符...

       问题描述:

         我用程序读取 数据库中的某个表A中的记录的时候,得到的中文是正确的。当我把得到的记录进行处理之后,新建了表B,然后往表B中插入记录时一直无法插入,打印sql语句发现其中的中文部分全部都是问号。按照网友分享的方法,执行以下命令,得到的结果显示并不能解决问题。

       先检查各个字符集:

       mysql> show variables like 'character%'; 
    +--------------------------+----------------------------------+
    | Variable_name            | Value                            |
    +--------------------------+----------------------------------+
    | character_set_client     | utf8                             |
    | character_set_connection | utf8                             |
    | character_set_database   | utf8                             |
    | character_set_filesystem | binary                           |
    | character_set_results    | utf8                             |
    | character_set_server     | utf8                             |
    | character_set_system     | utf8                             |
    | character_sets_dir       | /usr/local/mysql/share/charsets/ |
    +--------------------------+----------------------------------+
    8 rows in set
      再检查 表B 的每个列的字符集

    mysql> show full columns from dumatch_tmp_table;
     
    +-------+--------------+-----------------+------+-----+---------+-------+----------------------+---------+
    | Field | Type         | Collation       | Null | Key | Default | Extra | Privileges           | Comment |
    +-------+--------------+-----------------+------+-----+---------+-------+----------------------+---------+
    | id    | varchar(200) | utf8_unicode_ci | YES  |     | NULL    |       | select,insert,update |         |
    | dxid  | varchar(200) | utf8_unicode_ci | YES  |     | NULL    |       | select,insert,update |         |
    | yw    | longtext     | utf8_general_ci | YES  |     | NULL    |       | select,insert,update |         |
    +-------+--------------+-----------------+------+-----+---------+-------+----------------------+---------+
    3 rows in set
      注意上面的 utf8_general_ci和utf8_unicode_ci 似乎没有太大影响。(原本应该都是utf8_general_ci,由于在插入语句添加了修改语句,正常情况下统一的

      发现以上步骤都显示出数据库从 数据库-->表---->列  都是统一的编码格式,都是使用了 万无一失的utf8 编码。问题依然存在。

    于是我参考一个帖子中其他网友的讨论。http://bbs.csdn.net/topics/300065011。 这个帖子关键一点是,有些人通过在执行插入记录之前执行一条语句

       

    mysql> set names utf8;
    Query OK, 0 rows affected

      有些人是因为数据库本身编码没有设置好,导致后面新建的表无论怎样都有问题,因此新建表中的列也存在问题。所以通过以下语句检查 数据库和数据表编码。显然我的都是没有问题的,统一都是utf8

    mysql> show create database test;
    +----------+---------------------------------------------------------------+
    | Database | Create Database                                               |
    +----------+---------------------------------------------------------------+
    | test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+---------------------------------------------------------------+
    1 row in set
    
    mysql> show create table dumatch_tmp_table;
    +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table             | Create Table                                                                                                                                              |
    +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    | dumatch_tmp_table | CREATE TABLE `dumatch_tmp_table` (
      `id` varchar(200) DEFAULT NULL,
      `dxid` varchar(200) DEFAULT NULL,
      `yw` longtext
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set

    都说问题解决了。然而我的问题似乎依然存在。于是参考另外一篇文章。

      http://blog.csdn.net/tsingheng/article/details/8221482

     这篇文章的关键点 是在连接数据库时,后面将连接字符串改为jdbc:mysql://xxxxx:3306/dbnameuseUnicode=true&characterEncoding=utf-8解决问题。

      嗯。我的问题到此也算是完美解决了。

        





    展开全文
  • 作为一个新手,花了我好多好多精力,网上查了无数的解决方法。从中午11点40到夜晚7点30晚饭都没吃,挨个实验,挨个解决,其中mysql写了装,装了...第二步,在java中,连接mysql时,其中声明数据库的url时,必须用语...
  • java程序向mysql插入中文问号

    万次阅读 多人点赞 2012-11-25 09:47:12
    我碰到的问题是使用客户端工具插入中文是没问题的,但是用java程序就变成问号了。 遇到这种问题肯定是字符集造成的,先检查数据库,表的字符集,都是utf8,然后看页面,程序等等等等都是utf8都没问题,然后将连接...
  • 首先本人菜鸡一个,如果有说错的地方,还请大家指出予批评对于很多初学者来说,中文字符编码不相同的问题,一个很烦躁的问题!!因为很多时候,我们并不知道,到底哪一层出现了问题?在这里稍微做个总结~也怕...
  • java程序向mysql插入中文问号 走在岸上DE鱼说的对,【http://blog.csdn.net/tsingheng/article/details/8221482】 遇到这种问题肯定字符集造成的,先检查数据库,表的字符集,都utf8, 然后看页面,程序等等...
  • ,检查了所有的页面设置和工作空间设置都utf-8,于是用mysql工具直接插入发现可以正常插入中文,看到博友走在岸上的鱼的文章,发现可能客户端在连接数据库时默认GBK格式的,于是乎将连接字符串改为jdbc:mysql:/...
  • 转自:... eclipse和mysql数据库中的编码方式是否一致2. 在链接数据时,有没有在url里面加上characterEncoding=utf8,也就是下图这样 如果都解决了基本就没有问题了。但是我"确定"了以上的方式都...
  • @解决JAVAmySQL写数据,navicat中的数据显示问号通过MyEclipse向mySQL插入数据,使用navicat查看数据,数据是问号做项目,用MyEclipse向数据库写数据,利用navicat登陆mySQL数据表,发现数据是问号。在网上搜索...
  • 首先本人菜鸡一个,如果有说错的地方,还请大家指出予批评对于很多初学者来说,中文字符编码不相同的问题,一个很烦躁的问题!!因为很多时候,我们并不知道,到底哪一层出现了问题?在这里稍微做个总结~也怕...
  • 对于很多初学者来说,中文字符编码不相同的问题,一个很烦躁的问题!!因为很多时候,我们并不知道,到底哪一层出现了问题?在这里稍微做个总结~也怕自己今后忘了!!其实也就三层:1、前端页面2、后台代码3、...
  • mysql如果我们的字符集没有设置,或者没有设置好的话,默认latin1 这如果我们从后台传入UTF-8的数据就会出现问题 我遇到的就是中文在数据库中显示???(问号) 解决办法: jdbc:mysql://localhost:3306/test?...
  • 首先本人菜鸡一个,如果有说错的地方,还请大家指出予批评对于很多初学者来说,中文字符编码不相同的问题,一个很烦躁的问题!!因为很多时候,我们并不知道,到底哪一层出现了问题?在这里稍微做个总结~也怕...
  • 对于很多初学者来说,中文字符编码不相同的问题,一个很烦躁的问题!! 因为很多时候,我们并不知道,到底哪一层出现了问题? 在这里稍微做个总结~也怕自己今后忘了!! 其实也就三层: 1、前端页面 2、...
  • 当通过程序或者mysql客户端插入数据的时候出现中文变成??这种类似的乱码时,多半由于数据库编码的问题 1.如果是Java程序,则在url连接的地方加上?useUnicode=true&characterEncoding=utf-8试试 2.如果通过客户端...
  • 最近做Java GUI项目时,利用 insert SQL 语句向 MySQL数据库(版本:mysql 5.5)中插入中文,无奈中文都被 ?? 替换了,也就是中文乱码了。 1、网上普遍的改法 百度了一圈,修改方法也就是在 mysql 配置文件增加...
  • MySQL 中文插入数据乱码(问号????)

    千次阅读 2016-05-12 15:07:01
    将带有中文的数据插入通过java程序插入到表中,中文出现了乱码. 一开始以为客户端连接时的字符编码不对.  1. 便将hibernate的datasource的URL改为如下:  (红色部分为修改后代码.) . 修改后,执行添加操作, ...
  • 如上图, 向MySQL数据库中插入中文内容时, 插入的信息变成了问号。解决办法如下:1. 设置jsp页面的编码格式。我的项目中这样的:添加图书信息图书名称: 图书价格: 图书数量: 图书作者: 2. 设置数据库的编码方式:我...
  • 项目在阿里云的服务器上运行之后,连上了数据库但是,客户端发送过去的中文信息,服务端处理后插入mysql数据库的时候出现的都“????”都是中文问号,然后我本地测试也用的mysql数据库,没出现这样的问题...
  • 其实,当我们看到这个问题的时候都会很快的想到... 后来在查看Mysql的资料时候发现: 1、MySQL的默认编码Latin1,不支持中文,支持中文的数据库编码格式为gbk和utf8(注:在MySQL中要使用utf8,在java程序中使用ut...
  • 将带有中文的数据插入通过java程序插入到表中,中文出现了乱码. 一开始以为客户端连接时的字符编码不对. 1. 便将hibernate的datasource的URL改为如下: ?useUnicode=true&characterEncoding=gbk" />(红色部分...
  • 将带有中文的数据插入通过java程序插入到表中,中文出现了乱码. 一开始以为客户端连接时的字符编码不对. 1. 便将hibernate的datasource的URL改为如下: (红色部分为修改后代码.) . 修改后,执...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

java插入mysql中文是问号

java 订阅
mysql 订阅