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条)

报告相同问题?

悬赏问题

  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错