现在发现ant真的很重要!!sh\r\n试着用ant发布一个web程序。。。很方便的
月份:2005年11月
字符集编码问题有关转帖(共3篇)如有违权
来自:http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=10601&messageID=161934
论坛首页 ? 技术专区 ? Web Application Development
主题: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
回复: 37 页数: 3 最后提交: Oct 17, 2005 3:28:53 PM
欢迎, 客人
访客设置
转到 [根类别][版务] ? 论坛工作室[产品专区] ? Tuxedo ? BEA WebLogic Server ? BEA WebLogic Portal ? BEA WebLogic Integration ? BEA Workshop ? BEA General[技术专区] ? Web Application Development ? EJB Development ? JDBC & Transaction ? Design Pattern ? Develop Tools ? J2ME Development[BEA活动] ? 北京 User Group ? 上海 User Group ? 青岛 User Group ? 杭州 User Group ? 天津 User Group ? 广州User Group[小憩一会] ? 程序人生 ? 历史的天空[只读栏目] ? WebLogic开发
发新帖
回复此主题
搜索论坛
返回到 主题 列表
回复: 37 页数: 3 [ << | 1 2 3 ]
phoenixatsh [普通用户]
发帖数: 356
活跃积分: 348
技术积分: 10
可用币值: 288
注册时间: 2005-6-11
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 16, 2005 3:30:23 PM 回复 发消息
GB2312是GBK的子集
--------------------------------------------------------------------------------
blog: http://javaniao.blogdriver.com/
yexichang [普通用户]
发帖数: 494
活跃积分: 403
技术积分: 0
可用币值: 123
注册时间: 2005-1-31
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 16, 2005 10:00:03 PM 回复 发消息
GB2312是GBK的子集,不过既然有了UTF8还是用这个好,对自己也没有什么影响,还方便以后国际化
--------------------------------------------------------------------------------
kingyz [普通用户]
发帖数: 51
活跃积分: 47
技术积分: 0
可用币值: 32
注册时间: 2004-4-21
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 17, 2005 9:34:45 AM 回复 发消息
gb2312属于GBK
--------------------------------------------------------------------------------
focus2004 [普通用户]
发帖数: 106
活跃积分: 86
技术积分: 1
可用币值: 86
注册时间: 2004-8-9
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 17, 2005 9:35:34 AM 回复 发消息
这不是哪个好哪个不好的问题,看你的需要哦,我常用的是GBK
--------------------------------------------------------------------------------
I love Java!
keithhe [普通用户]
发帖数: 568
活跃积分: 499
技术积分: 5
可用币值: 324
注册时间: 2004-4-5
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 17, 2005 9:43:47 AM 回复 发消息
尽量全部采用UTF-8
--------------------------------------------------------------------------------
胡思乱想,就怕你不敢想
xuefengl [普通用户]
发帖数: 1,009
活跃积分: 962
技术积分: 31
可用币值: 317
注册时间: 2004-2-29
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 17, 2005 10:13:11 AM 回复 发消息
为了避免所有乱码问题,应该全部采用UTF-8,包括Java源文件/JSP/HTML...
将来要支持国际化也非常方便
--------------------------------------------------------------------------------
// see:
http://blog.csdn.net/asklxf/
http://www.j2medev.com/
http://www.crackj2ee.com/
zhzg605 [普通用户]
发帖数: 1,041
活跃积分: 971
技术积分: 24
可用币值: 306
注册时间: 2004-11-24
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 17, 2005 10:31:32 AM 回复 发消息
建议不要用gbk2312 用gbk 因为有些数据库服务器,或者unix服务的一些
生僻汉字用gbk2312 无法显示。
--------------------------------------------------------------------------------
shgodttj [普通用户]
发帖数: 234
活跃积分: 200
技术积分: 0
可用币值: 0
注册时间: 2005-3-7
用户状态:正常
Re: 网站的字符集选择GB2312好还是GBK好?两者有什么区别?
提交时间: Oct 17, 2005 3:28:53 PM 回复 发消息
应该全部采用UTF-8
--------------------------------------------------------------------------------
http://www.gody.cn
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
来自:http://www.mambo.cn/smf/index.php/topic,582.new.html
中曼中心简练机器论坛
utf-8技术讨论 (utf-8 Tech)
服务器设置 (版主: dylon)
对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解 0 会员 以及 2 访客 正在阅读本篇主题. ? 上一篇主题 下一篇主题 ?
页: [1]
作者 主题: 对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解 (阅读 1720 次)
zhous
管理员(Admin)
曼波五段
离线
文章: 590
对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解
? 于: 七月 02, 2005, 11:22:02 am ?
--------------------------------------------------------------------------------
来源:Donews
Unicode:
unicode.org制定的编码机制, 要将全世界常用文字都函括进去.
在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0x10FFFF.
UCS:
ISO制定的ISO10646标准所定义的 Universal Character Set, 采用4byte编码.
Unicode与UCS的关系:
ISO与unicode.org是两个不同的组织, 因此最初制定了不同的标准; 但自从unicode2.0开始, unicode采用了与ISO 10646-1相同的字库和字码, ISO也承诺ISO10646将不会给超出0x10FFFF的UCS-4编码赋值, 使得两者保持一致.
UCS的编码方式:
UCS-2, 与unicode的2byte编码基本一样.
UCS-4, 4byte编码, 目前是在UCS-2前加上2个全零的byte.
UTF: Unicode/UCS Transformation Format
UTF-8, 8bit编码, ASCII不作变换, 其他字符做变长编码, 每个字符1-3 byte. 通常作为外码. 有以下优点:
* 与CPU字节顺序无关, 可以在不同平台之间交流
* 容错能力高, 任何一个字节损坏后, 最多只会导致一个编码码位损失, 不会链锁错误(如GB码错一个字节就会整行乱码)
UTF-16, 16bit编码, 是变长码, 大致相当于20位编码, 值在0到0x10FFFF之间, 基本上就是unicode编码的实现. 它是变长码, 与CPU字序有关, 但因为最省空间, 常作为网络传输的外码.
UTF-16是unicode的preferred encoding.
UTF-32, 仅使用了unicode范围(0到0x10FFFF)的32位编码, 相当于UCS-4的子集.
UTF与unicode的关系:
Unicode是一个字符集, 可以看作为内码.
而UTF是一种编码方式, 它的出现是因为unicode不适宜在某些场合直接传输和处理. UTF-16直接就是unicode编码, 没有变换, 但它包含了0x00在编码内, 头256字节码的第一个byte都是0x00, 在操作系统(C语言)中有特殊意义, 会引起问题. 采用UTF-8编码对unicode的直接编码作些变换可以避免这问题, 并带来一些优点.
中国国标编码:
GB 13000: 完全等同于ISO 10646-1/Unicode 2.1, 今后也将随ISO 10646/Unicode的标准更改而同步更改.
GBK: 对GB2312的扩充, 以容纳GB2312字符集范围以外的Unicode 2.1的统一汉字部分, 并且增加了部分unicode中没有的字符.
GB 18030-2000: 基于GB 13000, 作为Unicode 3.0的GBK扩展版本, 覆盖了所有unicode编码, 地位等同于UTF-8, UTF-16, 是一种unicode编码形式. 变长编码, 用单字节/双字节/4字节对字符编码. GB18030向下兼容GB2312/GBK.
GB 18030是中国所有非手持/嵌入式计算机系统的强制实施标准.
已记录
天下本无事,庸人自扰之??好象有点道理
Autoit
曼波三段
离线
文章: 154
Hi,Mambo, I'm Autoit.
Re: 对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解
? 回复文章 #1 于: 七月 02, 2005, 11:45:36 am ?
--------------------------------------------------------------------------------
收藏!!!
已记录
http://xiaowei.cn 小薇精品婚纱
http://www.123yls.com 伊莉莎数码婚纱
http://www.lishabeila.com 伊莎贝尔时尚婚纱
...会聚 厦门精品婚纱 ...
zijie
曼波学员
离线
文章: 8
Re: 对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解
? 回复文章 #2 于: 十月 13, 2005, 01:07:09 am ?
--------------------------------------------------------------------------------
好文章
已记录
页: [1]
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
来自:http://www.hongen.com/pc/newer/ime/problem/problem3.htm
当前位置:洪恩在线 -> 电脑乐园 -> 输入法
常见问题解答
一.什么是BIG5码?
二.什么是GBK?
三.添加和删除输入法
四.设置输入法的属性
五.给输入法定义快捷键
六.调整输入法的次序
七.大字符集汉字的输入
谈谈您的看法
已有 0 条发言
常见问题解答
常见问题解答
六、 调整输入法的次序
输入法在状态栏有一个图标,点击输入法图标就可以选择输入法。但排第一的图标可以用“Ctrl+Space”热键启动,因此可以将自己常用的输入法排列到前面。
一个简单的方法,就是先将最常用的输入法删除,再重新安装该输入法,最常用的输入法就安装在前面了。
第二种方法是通过修改注册表来调整输入法的顺序、增加或删除输入法,甚至可做到Windows 95/98启动后的缺省输入法为汉字而不是英文。 通过对注册表的分析,可以发现在HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\keyboard layout\下存放着各输入法对应的主键,见下表所示:
在HKEY_USERS\.DEFAULT\keyboard layout\preload\下则是系统所安装的输入法的主键及键值,其主键为自然数,键值为上表中各输入法对应的主键。例如系统已安装了“智能ABC”、“全拼”和五笔输入法,则可看到如下的主键和键值:
主键 键值
1 00000409 2 E0040804 3 E0010804 4 E0220804
下面我们来改变输入法的顺序:
假设要将输入法顺序变为“英文”、“五笔”、“全拼”和“智能ABC”,可将主键和键值更改如下:
主键 键值
1 00000409 2 E0220804 3 E0010804 4 E0040804
这时再重新启动计算机,输入法顺序就改过来了。
七、 大字符集汉字的输入
大字符集汉字是一种汉字扩展内码规范(GBK)中定义的汉字。使用这个汉字集有利于与港澳台交流,Win95中有五种输入法可以输入GBK汉字。但到了Win98,为了精简系统、优化性能,将GB和GBK两个汉字集的输入法进行了合并。除了区位码和智能ABC外,其他预装的输入法都有GB和GBK两种输入方式,它们在安装时,缺省是GB输入方式,如果要输入一些难检字,如“?、?”,可以切换到GBK输入方式下。
切换方法为:单击任务栏右侧的输入法图标,选择“全拼输入法”,此时全拼输入法启动了。
在输入法的状态条上单击鼠标右键,选择“设置”命令。
在弹出的对话框中,可以看到“检索字符集”一栏,选中“GBK”项,单击“确定”,设置完毕。
这时再键入“rong”,就能查到“?”字了。
你可能会问,为什么Windows 98中全拼输入法的缺省设置为“GB2312”呢?原来考虑到GBK大字符集汉字的数量较多,如果只设置为“GBK”大字符集,那么使用全拼输入法会有大量的重码,严重影响输入速度,故而设置了一个GB码与GBK大字符集输入状态的切换开关。这样在一般情况下只输入GB码的汉字,在需要时再打开GBK大字符集的输入开关,以输入GBK大字符集的汉字。
为什么一些人用的是五笔输入法,却还保留着“全拼输入法”呢?对了,就是为了方便输入一些冷僻字。
上一页 返回到主界面
谈谈您的看法 已有 0 条发言
jive3+mysql4的中文化
下面这段来自jive3的文档:(file:///H:/java/j2ee/jive_forums_ent_3_0_8/jive_forums_ent_3_0_8/documentation/database.html#mysql)
MySQL does not have proper Unicode support, which makes supporting postings in non-Western languages difficult. However, the MySQL JDBC driver has a workaround which can be enabled by adding <mysql><useUnicode>true</useUnicode></mysql> to the <database> section of your jive_config.xml file. When using this setting, you should also set the Jive character encoding to utf-8 in the admin tool.
因为在jive3的admin页面中可以设置字符集,所以没有必要在数据库连接字符串中再设置characterEncoding属性了。
<serverURL>
jdbc:mysql://localhost:3306/jive3
<!--?characterEncoding=UTF-8-->
</serverURL>
在采用utf-8编码后,数据库的数据均是utf-8编码,我们人工就不能在数据库中直接看数据内容了。在这种情况下,怎么在数据库中直接看到内容呢?还需要进一步的学习。
还有,学习日记目前只能使用gb2312,是否使用了utf-8编码后就可以支持其他类型的文本输入了?
????,在jive3中使用了utf-8??後,??可以支持繁?了。
忘记密码怎么办?
取回密码的功能是必须的。
我的知识范围内目前有下面几种方式:
1、简单的把未加密的密码用邮件发给用户;
2、用密码提示问题,回答正确后可以重置加密的密码;
3、把重设密码的随机码用邮件发给用户,再由用户重设加密的密码。像jive3那样;
4、重置加密后的密码,然后把重置后的密码发给用户。(这种方法不行,因为只要知道了别人的用户名,就可以重置密码,并把重置后的密码发给并不知情的本人。)
综合上述的情况,用提示问题的方法因为已经建站了,数据库没有这个字段;再加上不好;拟使用上面第3种方法,觉得比较合理。
但是,我需要学习一下,因为我不知道延迟有效期的方法。jive3的做法是3天如用户不重设密码,自动无效。
jive学习资源
源码:http://www.codesky.net/down.asp?id=1740&loc=1&down=1
(网页简介:资源名称: 学习Jive源程序,可以更好的理解和应用设计模式 )
学习资料: http://www.javafan.net/softview.jsp?ID=198
(网页简介: Jive学习资料
更新日期: 2005-03-22 12:45:50
大 小: 2.17M
下载次数: 7296次
推荐星级:
教程格式: CHM 教程语言: 中文
【简介】
这份是由原自由动力软件联盟(FreedomWorks,目前已关站)整理的关于jive的学习资料,内容非常丰富,相信对研究jive的学习者会大有帮助。
同时,我们网站也会尽全力继续更新这份资料。
)
Jdon版Jive论坛:http://www.javafan.net/softview.jsp?ID=178
(网页简介: Jdon版Jive论坛
更新日期: 2005-01-23 15:46:00
大 小: 3.2M
下载次数: 6043次
推荐星级:
【简介】
Jdon版Jive论坛由大名鼎鼎的板桥里人等改编,在保留Jive优点的前提下作了简化,非常适合研究Jive源码。
源码内含Jbuilder工程文件,可以在Jbuilder7/8中打开编辑、调试、运行。
)
计划:使用菜单技术和在所有目标页面中加入
在所有目标页面中的目标中去掉创建作者和创建时间,增加每个目标的最近更新者和最近更新的帖子。
清除登录身份验证中的冗余代码
前两天,为了解决游客进入系统需要登录的问题,在几乎每个Action前都加了自动游客登录的代码。可能是昏了头吧,没有想到很多模块游客是不能进入的,比如提交目标、日记、评论、和全部管理员的模块。
于是,今天又一个一个的把这些不当的多余代码删除。
看来,编码前的思考还是太少了点。
已经解决了登录后返回原页面的问题
思路:用request中的方法保存URL,存在session中,在loginAction中forward到一个loginSuccess.jsp,在这个页面中取得保存在session中的URL,用重定向标记重定向到原来的页面。这样,返回原来的页面并刷新。
另外,我发现用javascript的延迟跳转(<meta http-equiv="Refresh" content="0; URL=loginActionindexAction.do">)没有用jsp的重定向快(<logic:redirect page="/indexAction.do" />),不知是为什么?
(转贴)Jsp+javascript打造二级级联下拉菜单
数据库需求分析:
class(一级栏目信息):classId(自动编号),className(栏目名称)
Nclass(二级栏目信息):NclassId(自动编号),NclassName(栏目名称),parentId(一级栏目id,与class表中的classId关联)
<%@ page contentType="text/html; charset=GB2312" language="java" errorPage="../error.jsp" %>
<%@ include file="../conn.jsp"%>
<%@ include file="../ds.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%request.setCharacterEncoding("gb2312"); %>
<HTML><HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>级联菜单</TITLE>
<LINK rel="stylesheet" type="text/css" href="style.css">
</HEAD>
<!--从数据库中得到二级栏目信息-->
<%String sql="select * from Nclass order by NclassId asc";
ResultSet rs=stmt.executeQuery(sql);
%>
<!--将二级栏目信息保存到数组subcat中-->
<script type="text/javascript">
var onecount;
onecount=0;
subcat = new Array();
<%
int count = 0;
while(rs.next()){
%>
subcat[<%=count%>] = new Array("<%=rs.getString("NclassName")%>","<%=rs.getString("NclassId")%>","<%=rs.getString("parentId")%>");
<%
count++;
}
rs.close();
%>
onecount=<%=count%>;
<!--决定select显示的函数-->
function changelocation(locationid)
{
document.myform.NclassId.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][2] == locationid)
{
document.myform.NclassId.options[document.myform.NclassId.length] = new Option(subcat[i][0], subcat[i][1]);
}
}
}
</script>
<FORM method="POST" name="myform" action="adminsave.jsp?action=add">
<TABLE>
<TR>
<TD>一级分类</TD>
<TD>
<SELECT name="classId" onChange="changelocation(document.myform.classId.options[document.myform.classId.selectedIndex].value)" size="1">
<OPTION selected value>==请选一级分类==</OPTION>
<sql:query var="query" dataSource="${bookdev}">
SELECT * FROM class
</sql:query>
<c:forEach var="row" items="${query.rows}">
<option value="${row.classId}">${row.className}</option>
</c:forEach>
</select>
</TD>
<TD>选择二级分类</TD>
<TD>
<SELECT name="NclassId">
<OPTION selected value>==请选二级分类==</OPTION>
</SELECT>
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
posted on 2005-03-21 15:15 似水流年 阅读(915) 评论(5) 编辑 收藏 收藏至365Key 所属分类: JSP/Servlet
String类中concat(String str)方法的使用问题
这里的参数str是不能为null的,否则会出现:java.lang.NullPointerException错误,
如: String currentURL = request.getServletPath().concat("?").concat(request.getQueryString());
System.out.println("currentURL is: " + currentURL);
如果:request.getQueryString()==null,就会报错。
查看jdk1.4中String.java的源码如下:
public String concat(String str) {
int otherLen = str.length();//这里首先检索新字符串的长度,所以str不能为null.
if (otherLen == 0) {
return this;
}
char buf[] = new char[count + otherLen];
getChars(0, count, buf, 0);
str.getChars(0, otherLen, buf, count);
return new String(0, count + otherLen, buf);
}
所以:如果不知道一个字符串是否会为null,而且不再乎字符串中会跟一个null,就不应该用这种方法,可以这样用:
String currentURL = request.getServletPath().concat("?")+ request.getQueryString();
System.out.println("currentURL is: " + currentURL);
结果为:currentURL is: /bulletinAction.do?null
jdk1.4APIDOC中这个方法的文档:
concat
public String concat(String str)
Concatenates the specified string to the end of this string.
If the length of the argument string is 0, then this String object is returned. Otherwise, a new String object is created, representing a character sequence that is the concatenation of the character sequence represented by this String object and the character sequence represented by the argument string.
Examples:
"cares".concat("s") returns "caress"
"to".concat("get").concat("her") returns "together"
Parameters:
str - the String that is concatenated to the end of this String.
Returns:
a string that represents the concatenation of this object's characters followed by the string argument's characters.