xinxinghe 2012-05-29 13:04
浏览 368
已采纳

jdbc连接mysql中,我想插入中文,但输入后的sql语句是问号

[code="java"]stmt = conn.prepareStatement("insert into p values(?,?,?,?)");
stmt.setString(1, "P7");
stmt.setString(2, "螺丝");
stmt.setString(3, "红");
stmt.setInt(4, 32);
System.out.println(stmt);[/code]
输出结果为:
com.mysql.jdbc.JDBC4PreparedStatement@1125f92: insert into p values('P7','??','?',32)

  • 写回答

7条回答 默认 最新

  • ideal46 2012-05-29 16:16
    关注

    这里还没有真正进入mysql进行查询,所以肯定是eclipse的默认编码方式导致的问题。

    解决方法:
    http://zhidao.baidu.com/question/167456075.html

    把整个工程的“Text file encoding”属性设为GBK,就不会有乱码了。
    设置方法:在eclipse中右击工程,点击弹出框最下面的“Properties”,然后在弹出的窗口左侧点击“Resource”,便可以在窗口的右部看到“Text file encoding”属性,点击“Other”前的单选框,在下拉列表中选择“GBK”。最后,点击右下部的“Apply”,“OK”退出。
    这样设置后,你再执行System.out.println("中文出现乱码!");时控制台上就不会是乱码了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题