博客统计信息

用户名:river7000
文章数:12
评论数:3
访问量:5142
无忧币:33
博客积分:90
博客等级:1
注册日期:2010-03-05

第一部分:问题描述
当WebSphere Application Server(以下简称为WAS)安装到中文Linux平台时,经常出现中文被显示为方块的情况,如下图所示:


图 1 应用程序组装工具乱码现象

图 1 应用程序组装工具乱码现象



图 2 FirstStep程序乱码现象

图 2 FirstStep程序乱码现象

 
本文以在United Linux1.0下配置WebSphere Application Server 5.0 Base版本为例,描述了定位及解决中文显示乱码问题的过程。
第二部分:问题定位
Linux下Java程序界面中中文显示的问题,经常存在于XWindow配置、Java程序内部错误和Java环境配置等几个方面。为了辅助进行错误定位,我们可以写一个简单的Swing程序,如下所示:






//在JDK 1.3.1 下调试运行通过(Linux & Windows 平台)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class HZSwingTest {
//Define two strings that containing DBCS and English character.
private static String DBCSValue = "This is a DBCS string[汉字]";
private static String DBCSWindowTitle = "DBCS Title[汉字]";
public Component createComponents() {
final JLabel label = new JLabel(DBCSValue);
JPanel pane = new JPanel();
pane.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
pane.setLayout(new GridLayout(0, 1));
pane.add(label);
return pane;
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName()); }
catch (Exception e) { }
//Create the top-level container and add contents to it.
JFrame frame = new JFrame(DBCSWindowTitle);
HZSwingTest app = new HZSwingTest();
Component contents = app.createComponents();
frame.getContentPane().add(contents, BorderLayout.CENTER);
//Finish setting up the frame, and show it.
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.pack();
frame.setVisible(true);
}
}







 
该程序简单模拟了WAS出错时的界面,创建一个标题为中文字符串的窗口,其中还包含一个显示中文字符串的标签。在Windows 2000 中文版和United Linux 1.0平台上,其运行结果如下所示:


图 3 United Linux 1.0运行结果

图 3 United Linux 1.0运行结果



图 4 Windows 2000中文版运行结果

偶多年前在学校时曾安装过Oracle 9i的win版本,后来没用到Oracle就没接触了。现在想学习下Oracle的Linux版本数据库。听使用Oracle的前辈说,现在国内应用得最多的还是Oracle 9i版本。
于是在Oracle官方找到这个Oracle9i下载地址:http://www.oracle.com/technology/global/cn/software/products/oracle9i/index.html

但单击里面的下载链接后会自动转向到10G和11G版本的下载页面,就是说官方现在已经不提供9i系列版本的下载了,那些地址都失效了。
Google了一下发现大部分的第三方下载地址也失效了。连verycd的源也没种了。最后还是找到了一个可以下载的地址:http://edelivery.oracle.com/,这个也是Oracle 官方的地址,但是从Oracle首页进去是找不到这个二级域名的。发现里面居然有Oracle几乎所有产品的下载!
方法:打开:http://edelivery.oracle.com/ 然后选择语言界面,可以选择“简体中文”;再点击右下角的“继续”,填写几项简单的注册资料,然后下一步就可以选择产品与平台下载了,如图:
近的时间,在搞数据库的安全加固问题,关于数据库中关于sysdba权限的登录,通过最近的一些实践和测试,在这里记录一下:
数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要设置的参数有两个,一个是SQLNET.AUTHENTICATION_SERVICES,一个是REMOTE_LOGIN_PASSWORDFILE。
os认证:如果启用了os认证,以sysdba登录,那么我们只要用oracle软件的安装用户就能登录:sqlplus “/ as sysdba”。如果我们要禁用os认证,只利用密码文件登录,我们首先要有一个密码文件:
orapwd file=C:\oracle\product\10.2.0\db_1\database\PWDoralocal.ora password=maximo entries=10;
然后我们要把$ORACLE_HOME/network/admin/sqlnet.ora中设置:
SQLNET.AUTHENTICATION_SERVICES= none
注意一下,密码文件只在数据库启动的时候加载进去,一旦加载进去,密码文件就脱离了oracle管理,所以我们用orapwd新建密码文件后,里面指定的密码要在数据重启后才能生效:
至此,我们已经实现不用os认证(sqlplus “/ as sysdba”的方式登录不了)。那么我们怎么限制网..
oracle的所有界面程序都是用java写的 ,大家在安装过程中或者使用过程中所遇到的中文乱码问题是当前的JVM还不支持中文,想要让你linux系统下的java程序支持中文其实很简单,只要讲系统的中字体文件链接或者拷贝到JVM中的fonts中然后安装字体就可以了.
我们系统的中字体存贮在/usr/share/fonts中,该文件夹下存储了系统中存储的各种字体,比如/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf.我们需要的做的就是将系统中的某个字体文件拷贝或者链接到JVM中的font中.
我的JVM安装路径为/usr/lib/jvm/java-6-sun,java中使用的字体文件存储于/usr/lib/jvm/java-6-sun/jre/lib/fonts
在该文件夹下创建文件夹sudo mkdir fallback
然后建立链接sudo ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttf /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback/ 这步完成之后你会在fallback文件夹下看到一个指向WQY字体的链接.
切入fallback文件夹 执行操作:
sudo mkfontdir
sudo mkfontscale
这样你的JVM就支持中文字体了.
如果在dbca中显示乱码,修改dbca文件,修改JRE_DIR为你的JVM路径,
JRE_DIR=/usr/lib/jvm/java-6-sun/jre
这样重新执行dbca会就显示优美的文泉驿字体了,看看是不是很漂亮呢..
【背景介绍】
===================================================================
最近在使用Oracle9i数据库进行数据插入、查询、导入/出,有时会出现乱码的情况,具体的情形有以下两种:

1.首次插入/显示乱码

2.首次插入/显示正常、但把数据用工具导出为本地文件(例如TXT)文件,再在另一个客户端中打开该文件并执行时再次插入的数据显示为乱码。

遂在本地创建两个数据库,一个为AL32UTF8字符集,一个为ZHS16GBK字符集,配合客户端NLS_LANG的不同设置,测试乱码的情况及进行原因分析。    
===================================================================

【测试目的】
===================================================================
测试不同的数据库字符集和客户端NLS_LANG搭配下,中文字符/中文日期的插入、显示
===================================================================

【测试环境】
===================================================================
Windows 2000 Professional (英文版) + Oracle 9.2.0.1.0 + SQL*Plus: Release 9.2.0.1.0

注:此次测试的客户端应用工具为SQL*PLUS,如果是使用T..
我的环境是RH linux 4,数据库oracle 10.2,字符集是AL32UTF8。现象是这样的:用select查看原数据,中文显示乱码,但java应用程序显示正常。从linux上用sqlplus插入一条中文,再用select 查询,新插入的这条中文显示正常,但java应用程序查询不出来。数据库字符集用的utf8,看了一下nls_lang的设置是NLS_LANG=american_america.AL32UTF8; 于是改成了NLS_LANG=american_america.UTF8(编辑并运行.bash_profile),重新插入数据,用select查看,中文显示乱码,但java应用程序显示正常。再修改NLS_LANG=american_america.ZHS16GBK,用select查询,中文显示正常。
今天又遇到了从sql plus insert 中文的问题,主要还是nls_lang的设置,总结一下。
首先要明确什么是字符集?字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包括关系,如us7ascii就是zhs16gbk的子集, 从us7ascii到zhs16gbk不会有数据解释上的问题,不会有数据丢失,Oracle对这种问题也要求从子集到超集的导出受支持,反之不行。在所有的字符集中utf8应该是最大,因为它基于unicode,双字节保存字符(也因此在存储空间上占用更多)。

其次,一旦数据库创建后,数据库的字符集是不能改变的。因此,在设计和安..
2010-06-20 20:44:41
SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
会话已更改。
SQL> SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 19:25:34
SQL> SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 19:25:00
SQL> SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 19:00:00
SQL> SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 00:00:00
SQL> SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL;
TO_DATE('2006-05','
-------------------
2006-05-01 00:00:00
SQL> SELECT TO_DATE('2006', 'YYYY') FROM DUAL;
TO_DATE('2006','YYY
-------------------
2006-05-01 00:00:00
当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。..
RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置
1.vsftpd服务软件包
vsftpd-2.0.5-10.el5.i386.rpm:vsftpd主程序包
2.vsftpd相关文档
/etc/vsftpd/vsftpd.conf:vsftpd的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP服务器
/etc/vsftpd/user_list:指定允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd操作的一些变量和设置脚本
/var/ftp/:默认情况下匿名用户的根目录

 
FTP常规配置应用案例1:
需求:
公司技术部准备搭建一台功能简单的FTP服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。
分析:
允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启,最后anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。
解决方案:
(1)配置vsftpd.conf主配置文件(服务器配置支持上传)
允许匿名用户访问
anonymous_enable=YES

允许匿名用户上传文件并可以创建目录
anon_upload_enable=YES
anon_mkdir_write_enable=YES

保存退出
(2)上传目录ftp用户的写入权限
大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!切记!!



人来疯技术文档之vsftp配置大全
人来疯 adminxu
人来疯论坛 http://www.d-1701.com/bbs
MSN:xu1701@hotmail.com
                                                                 
版权信息:未经许可不得转载,转载本文章请与人来疯论坛坛主adminxu联系!
联系方法:使用msn
环境:
RedHat  AS4
说明:
如果不做说明,一般安装命令均使用ROOT权限,用 # 表示

特别说明:无

以下文章介绍Liunx 环境下vsftpd的三种实现方法

一、前言
Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。Vsftpd的实现有三种方式
1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问
2、本地用户形式:以/etc/passwd中的用户名为认证方式
3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中..

1.安装CENTOS 5.0
安装CentOs5.0 时,如果服务器只是运行Oracle数据库的话,在安装CentOs5.0 时一定要选择安装gnome,开发工具包,遗留开发包,其他一些包可以不选择安装。

2.查询所需安装包是否完整
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libaio
可能还需要以下一些包,在安装的过程中根据包依赖的关系,把所依赖的包安装上:
compat-db-4.2.52-5.1.i386.rpm
libjpeg-devel-6b-37.i386.rpm
libpng-devel-1.2.10-7.i386.rpm
libX11-devel-1.0.3-8.el5.i386.rpm
libXau-devel-1.0.1-3.1.i386.rpm
libXdmcp-devel-1.0.1-2.1.i386.rpm
libXft-devel-2.1.10-1.1.i386.rpm
libXmu-1.0.2-5.i386.rpm
libXmu-devel-1.0.2-5.i386.rpm
libXp-1.0.0-8.i386.rpm
libXp-devel-1.0.0-8.i386.rpm
libXpm-3.5.5-3.i386.rpm
libXpm-devel-3.5.5-3.i386.rpm
libXt-devel-1.0.2-3.1.fc6.i386.rpm
mesa-libGL-devel-6.5.1-7.2.el5.i386.rpm
openmotif-2.3.0-0.3.el5.i386.rpm
openmotif-devel-2.3.0-0.3.el5.i386.rpm
openmotif22-2.2.3-18.i386.rpm
perl-libxml-perl-0.08-1.2.1.noarch.rpm
setarch-..
类别:ORACLE|阅读(264)|回复(0)|(0)阅读全文>>
 <<   1   2   >>   页数 ( 1/2 )