gem install activesupport activerecord actionpack actionmailer actionwebservice rails
Rails更新:gem update rails
Rails错误:scaffold,paginate
建议将"http://agilewebdevelopment.com/plugins/"加入收藏夹。2.0把很多plugin都剥离出来了,没有的话可以去那找。
因此将遇到的错误记录如下:
1.(scaffold 方法调用失败)
undefined method `scaffold'
解决办法:执行 以下语句 安装scaffolding
ruby script/plugin install scaffolding
2.分页插件的解决方法
状况如下:
undefined method `paginate'
解决办法:安装老的classic_pagination
ruby script/plugin install http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/classic_pagination/
因此将遇到的错误记录如下:
1.(scaffold 方法调用失败)
undefined method `scaffold'
解决办法:执行 以下语句 安装scaffolding
ruby script/plugin install scaffolding
2.分页插件的解决方法
状况如下:
undefined method `paginate'
解决办法:安装老的classic_pagination
ruby script/plugin install http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/classic_pagination/
Ubuntu软件源添加-转贴
在终端输入并运行
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份当前的源列表,以便日後需要时恢复)
sudo gedit /etc/apt/sources.list (修改sources.list文件中源的列表)
sources.list文件中尾部添加
#cn99.com 源更新服务器(江苏省常州市电信):
#Mirror.lupaworld.com 源更新服务器(浙江省杭州市双线服务器):
Ubuntu 官方源
台湾的官方源:
防止非官方源中软件包不全的问题,请在sources.list文件中尾部添加下面这个官方源。
如果没有这个源,下面安装某些软件的时候会提示找不到,比如w32codecs
然后 保存编辑好的文件,执行以下命令更新。
sudo apt-get update #这一步是更新你的源列表,换源後必须执行
(如果更新速度非常慢请更换源 sudo gedit /etc/apt/sources.list )
sudo apt-get dist-upgrade #这一步是更新软件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份当前的源列表,以便日後需要时恢复)
sudo gedit /etc/apt/sources.list (修改sources.list文件中源的列表)
sources.list文件中尾部添加
#cn99.com 源更新服务器(江苏省常州市电信):
deb http://ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ gutsy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ gutsy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ gutsy-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ gutsy-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ gutsy-backports main restricted universe multiverse
#Mirror.lupaworld.com 源更新服务器(浙江省杭州市双线服务器):
deb http://mirror.lupaworld.com/ubuntu gutsy main restricted universe multiverse
deb http://mirror.lupaworld.com/ubuntu gutsy-security main restricted universe multiverse
deb http://mirror.lupaworld.com/ubuntu gutsy-updates main restricted universe multiverse
deb http://mirror.lupaworld.com/ubuntu gutsy-backports main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu gutsy main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://mirror.lupaworld.com/ubuntu gutsy-backports main restricted universe multiverse
Ubuntu 官方源
deb http://archive.ubuntu.com/ubuntu/ gutsy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ gutsy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ gutsy-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ gutsy-proposed main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
台湾的官方源:
deb http://tw.archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu gutsy-backports main restricted universe multiverse
deb http://tw.archive.ubuntu.com/ubuntu gutsy-proposed main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu gutsy-backports main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu gutsy-proposed main restricted universe multiverse
防止非官方源中软件包不全的问题,请在sources.list文件中尾部添加下面这个官方源。
deb http://archive.ubuntu.org.cn/ubuntu-cn/ feisty main restricted universe multiverse
如果没有这个源,下面安装某些软件的时候会提示找不到,比如w32codecs
然后 保存编辑好的文件,执行以下命令更新。
sudo apt-get update #这一步是更新你的源列表,换源後必须执行
(如果更新速度非常慢请更换源 sudo gedit /etc/apt/sources.list )
sudo apt-get dist-upgrade #这一步是更新软件
网页源码查看工具
1.Instant Source
http://www.blazingtools.com/
2.Microsoft Internet Explorer Developer Toolbar
http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en
http://www.blazingtools.com/
2.Microsoft Internet Explorer Developer Toolbar
http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en
Ubuntu 受限文件格式支持
新立得软件包管理器
ubuntu-restricted-extras并安装它。
注意这里也有xubuntu-restricted-extras和kubuntu-restricted-extras。
或者打开终端,执行下面的命令:
sudo apt-get install ubuntu-restricted-extras
ubuntu-restricted-extras并安装它。
注意这里也有xubuntu-restricted-extras和kubuntu-restricted-extras。
或者打开终端,执行下面的命令:
sudo apt-get install ubuntu-restricted-extras
Ubuntu下配置fcitx
在/etc/X11/Xsession.d/下新建95fcitx_start文件,进行如下配置。
export LC_CTYPE=zh_CN.UTF-8
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx
保存之后重起电脑。
export LC_CTYPE=zh_CN.UTF-8
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx
保存之后重起电脑。
Ubuntu下播放MP3
首先安装gstreamer的解码器,gstreamer是gnome主推的多媒体平台。默认没有安装完全,导致mp3等不能播放。
sudo apt-get install gstreamer-*
把所有的gstreamer的包安装上。
编辑apt源
sudo vi /etc/apt/sources.list
#添加一下的源
然后依次输入以下命令:
sudo apt-get install gstreamer-*
把所有的gstreamer的包安装上。
编辑apt源
sudo vi /etc/apt/sources.list
#添加一下的源
deb http://ubuntu.cn99.com/ubuntu/ edgy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ edgy main restricted universe multiverse
然后依次输入以下命令:
sudo apt-get update
sudo apt-get install totem-xine libxine1-ffmpeg libxine1-gnome libxine1-plugins libxine1
sudo apt-get install w32codecs
VIM替换技巧4
[技巧一]
第一个是在VIM邮件列表中看到的,给出了一个如何统计文章字数的方法。
统计一个完整文件的字数,可以使用Unix下的wc工具,它能够统计一个文件的行数、单词数和字符数。
如果只想统计一个特定的模式出现的次数,wc工具就无能为力了,这时候可以用VIM的替换功能。
假定想统计文章中出现的单词的数目,可以使用下面的命令:
:%s/\w//gn
简单解释一下,这种命令实际上是报告整个文件中出现的单词的数目,命令分解如下:
%s 在整个文件中替换 (:help :s )
\w 匹配一个字 (word) (:help /\w )
g 替换行内所有出现的匹配 (:help :s_flags)
n 只报告匹配的数目,并不真正进行替换(:help :s_flags)
如果是使用LaTeX写论文的话,可以用这种方式排除LaTeX的控制字符,统计出论文中的实际字数,参考文档列出的邮件中给出了这样的一个示例。
在VIM中“:help count-items”以及“:help count-bytes”,可以看到更多统计数目的方法。
[技巧二]
这个技巧是在水木社区的VIM版看到的(http://www.newsmth.org/bbsdoc.php?board=VIM )。
这个文章是关于如何将一串十进制数字转换为16进制数字,使用VIM完成转换的最简单方法如下:
:%s/\d\+/\=printf("%X", submatch(0))/g
这条命令的原理是,把一串数字,用printf()函数的输出替换掉,printf()函数输出的正是这串数字的16进制形式。
分解如下:
%s 在整个文件中替换 (:help :s )
\d\+ 匹配一个或多个数字 (:help /\d :help /\+ )
\= 使用表达式的结果进行替换 (:help /\w )
printf 按指定格式输出 (:help printf() )
submatch() 返回:s命令中的指定匹配字符串 (:help submatch() )
g 替换行内所有出现的匹配 (:help :s_flags)
第一个是在VIM邮件列表中看到的,给出了一个如何统计文章字数的方法。
统计一个完整文件的字数,可以使用Unix下的wc工具,它能够统计一个文件的行数、单词数和字符数。
如果只想统计一个特定的模式出现的次数,wc工具就无能为力了,这时候可以用VIM的替换功能。
假定想统计文章中出现的单词的数目,可以使用下面的命令:
:%s/\w//gn
简单解释一下,这种命令实际上是报告整个文件中出现的单词的数目,命令分解如下:
%s 在整个文件中替换 (:help :s )
\w 匹配一个字 (word) (:help /\w )
g 替换行内所有出现的匹配 (:help :s_flags)
n 只报告匹配的数目,并不真正进行替换(:help :s_flags)
如果是使用LaTeX写论文的话,可以用这种方式排除LaTeX的控制字符,统计出论文中的实际字数,参考文档列出的邮件中给出了这样的一个示例。
在VIM中“:help count-items”以及“:help count-bytes”,可以看到更多统计数目的方法。
[技巧二]
这个技巧是在水木社区的VIM版看到的(http://www.newsmth.org/bbsdoc.php?board=VIM )。
这个文章是关于如何将一串十进制数字转换为16进制数字,使用VIM完成转换的最简单方法如下:
:%s/\d\+/\=printf("%X", submatch(0))/g
这条命令的原理是,把一串数字,用printf()函数的输出替换掉,printf()函数输出的正是这串数字的16进制形式。
分解如下:
%s 在整个文件中替换 (:help :s )
\d\+ 匹配一个或多个数字 (:help /\d :help /\+ )
\= 使用表达式的结果进行替换 (:help /\w )
printf 按指定格式输出 (:help printf() )
submatch() 返回:s命令中的指定匹配字符串 (:help submatch() )
g 替换行内所有出现的匹配 (:help :s_flags)
VIM替换技巧3
我们先看例子:
我们要把上面代码中括号中的数字,替换成由0开始的一个顺序递增序列,例如:
实现以上需求,除了用前面介绍的方法外,还可以用下面的命令:
:let n=0 | g/opIndex(\zs\d\+/s//\=n/|let n+=1
这条命令同上一篇介绍的命令类似,它也使用了VIM的替换功能和表达式,不同之处在于它并不需要事先选中替换区域,因为它没有使用”line()”函数来计算当前位置的偏移,而是直接使用变量来进行赋值。
下面简单讲解一下这条命令各个组成元素:
let 为变量赋值 (:help let )
| 用来分隔不同的命令 (:help :bar )
g 在匹配后面模式的行中执行指定的ex命令 (:help :g )
\zs 指明匹配由此开始 (:help /\zs )
\d\+ 查找1个或多个数字 (:help /\d )
s 对匹配模式进行替换 (:help :s )
\= 指明后面是一个表达式 (:help :s\= )
所以,这条命令的执行过程为:
1. 给变量n赋值为0;
2. 查找模式” opIndex(\zs\d\+”,使用变量n的值替换匹配的模式字符串;
3. 给变量n加1;
需要说明一下”|”,它用来分隔不同的命令。
另外,在substitute命令中,如果省略匹配模式字符串,它会使用之前定义的匹配模式字符串,在本例中就是由”global”命令定义的”opIndex(\zs\d\+”。
UniqueID2 = lview.focusedItem.subItems.opIndex(0).text;
Parent = lview.focusedItem.subItems.opIndex(0).text;
Children = lview.focusedItem.subItems.opIndex(0).text;
login = lview.focusedItem.subItems.opIndex(1).text;
txtCust.text = lview.focusedItem.subItems.opIndex(2).text;
txtProj.text = lview.focusedItem.subItems.opIndex(3).text;
txtbDate.text = lview.focusedItem.subItems.opIndex(4).text;
txtdDate.text = lview.focusedItem.subItems.opIndex(5).text;
txteDate.text = lview.focusedItem.subItems.opIndex(6).text;
txtPM.text = lview.focusedItem.subItems.opIndex(7).text;
txtLang.text = lview.focusedItem.subItems.opIndex(8).text;
txtVendor.text = lview.focusedItem.subItems.opIndex(9).text;
txtInvoice.text = lview.focusedItem.subItems.opIndex(10).text;
txtPMFund.text = lview.focusedItem.subItems.opIndex(11).text;
txtProjFund.text= lview.focusedItem.subItems.opIndex(12).text;
txtA_No.text = lview.focusedItem.subItems.opIndex(13).text;
txtNotes.text = lview.focusedItem.subItems.opIndex(14).text;
txtStatus.text = lview.focusedItem.subItems.opIndex(15).text;
我们要把上面代码中括号中的数字,替换成由0开始的一个顺序递增序列,例如:
UniqueID2 = lview.focusedItem.subItems.opIndex(0).text;
Parent = lview.focusedItem.subItems.opIndex(1).text;
Children = lview.focusedItem.subItems.opIndex(2).text;
……
实现以上需求,除了用前面介绍的方法外,还可以用下面的命令:
:let n=0 | g/opIndex(\zs\d\+/s//\=n/|let n+=1
这条命令同上一篇介绍的命令类似,它也使用了VIM的替换功能和表达式,不同之处在于它并不需要事先选中替换区域,因为它没有使用”line()”函数来计算当前位置的偏移,而是直接使用变量来进行赋值。
下面简单讲解一下这条命令各个组成元素:
let 为变量赋值 (:help let )
| 用来分隔不同的命令 (:help :bar )
g 在匹配后面模式的行中执行指定的ex命令 (:help :g )
\zs 指明匹配由此开始 (:help /\zs )
\d\+ 查找1个或多个数字 (:help /\d )
s 对匹配模式进行替换 (:help :s )
\= 指明后面是一个表达式 (:help :s\= )
所以,这条命令的执行过程为:
1. 给变量n赋值为0;
2. 查找模式” opIndex(\zs\d\+”,使用变量n的值替换匹配的模式字符串;
3. 给变量n加1;
需要说明一下”|”,它用来分隔不同的命令。
另外,在substitute命令中,如果省略匹配模式字符串,它会使用之前定义的匹配模式字符串,在本例中就是由”global”命令定义的”opIndex(\zs\d\+”。
VIM替换技巧2
以第一条命令为例,第二条命令和第一条命令类似:
:'<,'>s/BIT_MASK_\zs\d*\ze/\=line(".") - line("'<") + 1
这条命令在我们选中的区域内进行替换,查找以“BIT_MASK_”开头,后面跟任意多个数字的字符串,并把匹配位置放在数字上,然后使用后面表达式计算出来的数字替换这些匹配的数字。
下面是这条命令中每个元素的含义:
'<,'> 我们所选中的区域 (:help '<,:help '> )
s 在选中的区域中进行替换 (:help :s )
\zs 指明匹配由此开始 (:help /\zs )
\d* 查找任意位数的数字 (:help /\d )
\ze 指明匹配到此为止 (:help /\ze )
\= 指明后面是一个表达式 (:help :s\= )
line(".") 当前光标所在行的行号 (:help line() )
line("'<") 我们所选区域中第一行的行号 (:help line() )
“'<”和“'>”是我们使用了“v”,“V”命令选中一个visual区域后,VIM设置的标记,分别用来标识visual区域的开始和结束。
“BIT_MASK_\zs\d*\ze”是一个正则表达式,用来查找以“BIT_MASK_”开头,后面跟任意多个数字的字符串。其中“\zs”、“\ze”用来指定匹配的开始和结束位置,因为我们只打算替换“BIT_MASK_0”中的数字,所以在查找时只把匹配区域置在数字上。
由于我们的替换操作要把不同行的数字替换成不同的值,所以在这里需要使用一个表达式来计算出替换后的值。当“:s”命令的替换字符串是以“\=”开头时,表明使用一个表达式计算的结果进行替换。我们这里的表达式就是“line(".") - line("'<") + 1”,其中“line()”函数用来获得行号,它可以获得当前行的行号,以及指定的标记(mark)所在的行号。“line(“.”)”用来获得当前光标所在行的行号,“line(“’<”)”则用来获得“'<”标记所在行的行号。这两个行号的差加上1就是我们想替换的值。
:'<,'>s/BIT_MASK_\zs\d*\ze/\=line(".") - line("'<") + 1
这条命令在我们选中的区域内进行替换,查找以“BIT_MASK_”开头,后面跟任意多个数字的字符串,并把匹配位置放在数字上,然后使用后面表达式计算出来的数字替换这些匹配的数字。
下面是这条命令中每个元素的含义:
'<,'> 我们所选中的区域 (:help '<,:help '> )
s 在选中的区域中进行替换 (:help :s )
\zs 指明匹配由此开始 (:help /\zs )
\d* 查找任意位数的数字 (:help /\d )
\ze 指明匹配到此为止 (:help /\ze )
\= 指明后面是一个表达式 (:help :s\= )
line(".") 当前光标所在行的行号 (:help line() )
line("'<") 我们所选区域中第一行的行号 (:help line() )
“'<”和“'>”是我们使用了“v”,“V”命令选中一个visual区域后,VIM设置的标记,分别用来标识visual区域的开始和结束。
“BIT_MASK_\zs\d*\ze”是一个正则表达式,用来查找以“BIT_MASK_”开头,后面跟任意多个数字的字符串。其中“\zs”、“\ze”用来指定匹配的开始和结束位置,因为我们只打算替换“BIT_MASK_0”中的数字,所以在查找时只把匹配区域置在数字上。
由于我们的替换操作要把不同行的数字替换成不同的值,所以在这里需要使用一个表达式来计算出替换后的值。当“:s”命令的替换字符串是以“\=”开头时,表明使用一个表达式计算的结果进行替换。我们这里的表达式就是“line(".") - line("'<") + 1”,其中“line()”函数用来获得行号,它可以获得当前行的行号,以及指定的标记(mark)所在的行号。“line(“.”)”用来获得当前光标所在行的行号,“line(“’<”)”则用来获得“'<”标记所在行的行号。这两个行号的差加上1就是我们想替换的值。
VIM替换技巧1
以编写C语言程序为例, 假设,我们最终想完成的代码如下:
我们不需要一行一行的去写,只需要先写好第一行,如下:
#define BIT_MASK_1 (1 << 0)
然后,我们回到Normal模式,在这一行上输入“Y31p",拷贝此行,然后粘贴31次。这样,我们得到总共32行上面的内容。
现在使用"V31j"命令选中这32行,然后使用两次替换命令:
:'<,'>s/BIT_MASK_\zs\d*\ze/\=line(".") - line("'<") + 1
:'<,'>s/\zs\d*\ze)$/\=line(".")-line("'<")
#define BIT_MASK_1 (1 << 0)
#define BIT_MASK_2 (1 << 1)
#define BIT_MASK_3 (1 << 2)
#define BIT_MASK_4 (1 << 3)
#define BIT_MASK_5 (1 << 4)
#define BIT_MASK_6 (1 << 5)
#define BIT_MASK_7 (1 << 6)
#define BIT_MASK_8 (1 << 7)
#define BIT_MASK_9 (1 << 8)
#define BIT_MASK_10 (1 << 9)
#define BIT_MASK_11 (1 << 10)
#define BIT_MASK_12 (1 << 11)
#define BIT_MASK_13 (1 << 12)
#define BIT_MASK_14 (1 << 13)
#define BIT_MASK_15 (1 << 14)
#define BIT_MASK_16 (1 << 15)
#define BIT_MASK_17 (1 << 16)
#define BIT_MASK_18 (1 << 17)
#define BIT_MASK_19 (1 << 18)
#define BIT_MASK_20 (1 << 19)
#define BIT_MASK_21 (1 << 20)
#define BIT_MASK_22 (1 << 21)
#define BIT_MASK_23 (1 << 22)
#define BIT_MASK_24 (1 << 23)
#define BIT_MASK_25 (1 << 24)
#define BIT_MASK_26 (1 << 25)
#define BIT_MASK_27 (1 << 26)
#define BIT_MASK_28 (1 << 27)
#define BIT_MASK_29 (1 << 28)
#define BIT_MASK_30 (1 << 29)
#define BIT_MASK_31 (1 << 30)
#define BIT_MASK_32 (1 << 31)
我们不需要一行一行的去写,只需要先写好第一行,如下:
#define BIT_MASK_1 (1 << 0)
然后,我们回到Normal模式,在这一行上输入“Y31p",拷贝此行,然后粘贴31次。这样,我们得到总共32行上面的内容。
现在使用"V31j"命令选中这32行,然后使用两次替换命令:
:'<,'>s/BIT_MASK_\zs\d*\ze/\=line(".") - line("'<") + 1
:'<,'>s/\zs\d*\ze)$/\=line(".")-line("'<")
HTML中日文乱码的解决方法.
最近用Ruby进行cgi开发遇到的一个问题.
charset设置为UTF-8,页面中有日文时仍然显然乱码,加入DTD定义就可解决,原因尚未清楚.
注:charset缺省时,浏览器会根据使用环境进行选择.
<head>
<meta equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta equiv="keywords" content="CGI">
<meta equiv="description" content="CGI,RUBY">
<meta equiv="Author" content="Leself">
<meta equiv="refresh" content="10;URL=http://localhost">
<meta equiv="Expires" content="3">
<meta equiv="Page-Enter" content="revealTrans(duration=0.1,transition=14)">
<meta equiv="Page-Exit" content="revealTrans(duration=0.1,transition=12)">
<meta equiv="Pragma" content="no-cache">
<meta equiv="Copyright" content="All Rights Reserved">
<meta equiv="Window-target" content="_top">
<link rel="Shortcut Icon" href="./ico/world.gif">
<title>EIOH
</title>
</head>
charset设置为UTF-8,页面中有日文时仍然显然乱码,加入DTD定义就可解决,原因尚未清楚.
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transition//EN" ">a href="http://www.w3.org/tR/html4/loose.dtd"<http://www.w3.org/tR/html4/loose.dtd>/a<<
注:charset缺省时,浏览器会根据使用环境进行选择.
Oralce中IMP数据库导入,字符集不相符的修改.
1.首先查看Oracle的字符集.
select * from nls_database_parameters;
2.按如下步骤进行修改.
注:从Oracle8i导入到OracleXE时,修改之后NLS_NCHAR_CHARACTERSET 仍然不同,按如下可进行修改,但修改之后数据库会被破坏,不能使用.建议初学者千万不要进行此操作.从Oracle8i导入到OracleXE,目前仍没有办法实现.
select * from nls_database_parameters;
2.按如下步骤进行修改.
connect system/admin as sysdba
shutdown immediate
startup mount
alter system enable restricted session;
alter system set JOB_QUEUE_PROCESSES=0;
alter system set AQ_TM_PROCESSES=0;
alter database open;
alter database character set internal_use JA16SJIS;
shutdown immediate
startup
注:从Oracle8i导入到OracleXE时,修改之后NLS_NCHAR_CHARACTERSET 仍然不同,按如下可进行修改,但修改之后数据库会被破坏,不能使用.建议初学者千万不要进行此操作.从Oracle8i导入到OracleXE,目前仍没有办法实现.
update props$ set value$='AL32UTF8'
where name = 'NLS_NCHAR_CHARACTERSET'
订阅:
博文 (Atom)