关于db2的控制中心
个人感觉,控制中心的中文界面实在是太让人难以忍受了各位前辈有没有什么好办法改变界面的字体,比如改成宋体什么的
另外,我发现如果在中文windows上装db2的话,控制中心访问数据库时默认使用1386代码集,有没有办法改变访问时的代码集呢?
以上这两个问题是否都与DB2 JDBC的驱动有关?
由谁了解JDBC type2 和 type4 driver的区别吗?
关于db2的控制中心
以上两个问题都和JDBC驱动无关。对于第一个问题,我也期待哪位大侠能够有好主意……
第二个问题,看一下以前的帖子:
http://bbs.chinaunix.net/forum/viewtopic.php?t=610912&show_type=
关于db2的控制中心
这个帖子我以前看过,不能够解决我的问题我曾经试过db2set db2codepage=???其实无论把这个参数改成什么值,都不会影响db2控制中心访问数据库时使用的字符集的,除非改变windows的区域设置
我之所以感觉与JDBC驱动有关,原因有:
1、控制中心采用java编写,应该时通过JDBC访问数据库;
2、如果采用type4 的driver,理论上应该不会读本地的客户端配置信息,比如db2codepage这类的变量;
3、如果界面的显示与操作系统相关,理应采用中文操作系统默认的宋体来显示。
关于db2的控制中心
如果是WINDOWS环境,在环境变量中增加“DB2CODEPAGE”,值是你要访问的数据库的代码页配置,然后确认环境变量生效后打开一个DB2CMD窗口,再连一下那个数据库试试。关于db2的控制中心
可能我没描述清楚,db2的控制中心是一个完整的client工具,访问数据库的时候使用的codepage和db2codepage变量中定义的值是不同的。比如,我可以先设置db2set db2codepage=1208,然后重启,再打开控制中心,结果发现控制中心还是使用1386访问数据库,尽管目前的db2codeage变量是1208
关于db2的控制中心
呵呵,是我没有描述清楚,我的意思是你在“WINDOWS”的环境变量中增加一个环境变量“DB2CODEPAGE”,而不是用命令“db2set”,这个环境变量的值就设为你的目标数据库的代码页(1208),确认WINDOWS的这个环境变量生效后,再打开控制中心。以前我遇到过这种情况,按照这种方法可以解决。
关于db2的控制中心
还是不行呀,我把环境变量加了DB2CODEPAGE,设置为819然后重启
结果和原来一样,原来乱码的还是乱码,原来可以正常显示的还是正常显示
关于db2的控制中心
不过控制中心显示的问题我搞定了:db2的控制中心使用的是IBM自己的JDK,可以在SQLLIB\java\jdk\jre\lib
下找到所有字体控制文件font.properties.*
所以,只要把SUN JDK中的font.properties.zh拷贝到上面提到的目录中,并更名为font.properties 即可(最好备份原来文件)
另外,还需要把windows fonts目录下的字体文件simsun.ttc拷贝到SQLLIB\java\jdk\jre\lib\fonts中
应该就可以了,其实关键还是font.properties文件,我不清楚这个文件中的格式的含义,否则应该可以做更多改进
关于db2的控制中心
原帖由 "llouis" 发表:还是不行呀,我把环境变量加了DB2CODEPAGE,设置为819
然后重启
结果和原来一样,原来乱码的还是乱码,原来可以正常显示的还是正常显示
呵呵,说了半天我们还是误会了。
环境变量DB2CODEPAGE与字体是无关的,CODEPAGE与字符在数据库中的存储方式有关,而与字体的显示无关。如果是想调整控制中心中的显示字体,设置代码页是不行的。如果是数据库的连接问题,则可以由代码页设置解决。
简单说来就是这样了,不知道这回说清楚了没有。
关于db2的控制中心
好像还是没有说清楚,其实我的帖子就两个问题:1、控制中心的显示字体,已解决;
2、控制中心访问数据库时所用的字符集。
对于第二个问题,即访问数据库时采用的客户端字符集,我觉得应该取决于客户端程序使用的驱动程序,有些驱动程序使用操作系统环境变量、db2set设置的变量,还有些根本不使用环境变量,比如db2 jdbc type4 driver
因此,假如控制中心使用的是db2 jdbc type4 driver,任何环境变量的修改都不会影响它使用的字符集,从做试验的情况来看,这种可能性最大。
也就是说,并不是所有“数据库连接”都可以由代码页的设置来解决
还有,客户端字符集的选择是会影响中文字符的显示的,而字符的显示和字体的显示是有区别的
页:
[1]
2