免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xxjoyjn
打印 上一主题 下一主题

[JAVA JDBC]关于转码的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-04-02 12:51 |只看该作者
乱码问题一直很困惑人的,尽管我每次都可以让它不出现乱码,但我也是借鉴别人的经验的,其实自己没有从原理上搞明白

论坛徽章:
0
12 [报告]
发表于 2006-04-03 13:33 |只看该作者
可惜对java/jdbc不是很了解,如果是php之类的就能说明百了。

论坛徽章:
0
13 [报告]
发表于 2006-04-04 10:14 |只看该作者
是连接数据库时设置URL的问题:
url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gb2312

论坛徽章:
0
14 [报告]
发表于 2006-04-04 10:26 |只看该作者
原帖由 xxjoyjn 于 2006-4-4 10:14 发表
是连接数据库时设置URL的问题:
url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gb2312


characterEncoding=gb2312 具体起什么作用?

论坛徽章:
0
15 [报告]
发表于 2006-04-04 11:48 |只看该作者
原帖由 yejr 于 2006-4-4 10:26 发表


characterEncoding=gb2312 具体起什么作用?

取出数据自动转码,在JAVA代码中就不再需要转码语句了

论坛徽章:
0
16 [报告]
发表于 2006-04-04 13:02 |只看该作者
mysql是需要在服务器端数据存储时指定编码,以及网络传输时指定编码方式。
服务器端可以通过建表时指定default charset和COLLATE,而在网络传输时,可以通过类似 "set names utf8" 的方法来指定。

论坛徽章:
0
17 [报告]
发表于 2006-04-06 10:12 |只看该作者
原帖由 yejr 于 2006-4-4 13:02 发表
mysql是需要在服务器端数据存储时指定编码,以及网络传输时指定编码方式。
服务器端可以通过建表时指定default charset和COLLATE,而在网络传输时,可以通过类似 "set names utf8" 的方法来指定。


请问,在编译MYSQL的时候,如果我使用configure --with-charset=gb2312 ,
是不是就已经指定了MYSQL服务器端的存储编码了?那么我在创建表的时候是不是就不需要指定字符集default charset了?

论坛徽章:
0
18 [报告]
发表于 2006-04-06 12:09 |只看该作者
请赐教

论坛徽章:
0
19 [报告]
发表于 2006-04-06 12:23 |只看该作者
原帖由 xxjoyjn 于 2006-4-6 10:12 发表


请问,在编译MYSQL的时候,如果我使用configure --with-charset=gb2312 ,
是不是就已经指定了MYSQL服务器端的存储编码了?那么我在创建表的时候是不是就不需要指定字符集default charset了?

控制台进入 MySQL 后,用 \s 看当前状态,
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
以上是我这里的。
他们有继承关系,建表的时候不指定字符集,表就继承数据库的字符集,数据库呢就去继承Server的字符集。所以,如果 server 级的字符集符合你的需要的话,后面你的确不需要指定。
建数据库或者表或字段的时候,有指定的字符集,它就用指定的不会去继承。

论坛徽章:
0
20 [报告]
发表于 2006-04-06 12:37 |只看该作者
我按照你这么做了,没有字符集的信息啊

mysql> \s
--------------
mysql  Ver 11.18 Distrib 3.23.52, for pc-linux-gnu (i686)

Connection id:          161
Current database:
Current user:           root@localhost
Current pager:          stdout
Using outfile:          ''
Server version:         4.0.12-log
Protocol version:       10
Connection:             Localhost via UNIX socket
Client characterset:    latin1
Server characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 22 hours 32 min 19 sec

Threads: 2  Questions: 1358  Slow queries: 3  Opens: 29  Flush tables: 1  Open tables: 23  Queries per second avg: 0.017
--------------
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP