在java中怎么使用prepareStatement向mysql数据库中插入值
答案:2 悬赏:30
解决时间 2021-11-16 20:28
- 提问者网友:王者刀枪不入
- 2021-11-16 13:53
在java中怎么使用prepareStatement向mysql数据库中插入值
最佳答案
- 二级知识专家网友:温柔刺客
- 2021-11-16 14:07
留个QQ,把例子发给你。
全部回答
- 1楼网友:你把微笑给了谁
- 2021-11-16 15:19
mysql中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show create table table ; 或show full fields from tablename; 来检查当前表中字段的字符集设置。
mysql中关于连接环境的字符集设置有 client端,connection, results 通过这些参数,mysql就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样mysql就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。
上面是我抄网上的资料来的。我试了一下。发现
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| variable_name | value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
解决方法已经找到。进入数据后
use 数据库名;
names utf8;
不过这样会每次进入都必须重新设置。因此。还可以在/etc/mysql/my.conf里添加
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
default-character-set=utf8
这样数据库就不每次按照utf8字符集来导入到数据库了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯