如何向数据库插入中文记录?

yingjunyu 2001-08-08 10:05:03
如何向数据库(sql或access)中插入中文记录。
服务器是jswdk1.0.1;jdk是1.3版本;操作系统是win2000server。
...全文
133 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bblook 2001-08-26
myemail:abin_w@sohu.com
回复
yingjunyu 2001-08-23
bblook(比比路克) ,把邮件地址告诉我吧
yingjunyu@sina.com
回复
alexsten 2001-08-15
我把sql server中的有关字符串的字段都改成了unicode了,如nchar什么之类的,连getBytes("ISO8859-1")的函数都不用了,一切都很正常,让页面中去import contenttype="text/html;charset=gb2312"就什么都可以了。我的环境是win2000 + sql server 2000 + weblogic 6.0/6.1
回复
同意楼上的意见
回复
bblook 2001-08-12
我觉得下面的函数很好用
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;
}
catch(Exception e)
{

}
return "null";
}
比如说:
answers=getStr("插入我:P");
sqlStmt.executeUpdate("insert into table(answers) values('"+answers+"')");
回复
nicolas 2001-08-12
我的一个代码(已经运行了很久):

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*, java.util.Date"%>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*载入驱动程序类别*/

Connection con = DriverManager.getConnection("jdbc:odbc:wygl");
/*建立资料库链接*/

Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
/*建立Statement对象, 并设定记录指标类型为可前后移动*/

String RepID = request.getParameter("RepID"); /*取得RepID参数*/

byte[] tmpbyte=null;
String strEmail="",strPoster="",strTitle="",strContent="";

Date Now = new Date(); /*取得目前的系统时间*/
String year = String.valueOf(Now.getYear() + 1900);
String month = String.valueOf(Now.getMonth() + 1);
String day = String.valueOf(Now.getDate());
String hour = String.valueOf(Now.getHours());
String minute = String.valueOf(Now.getMinutes());
String second = String.valueOf(Now.getSeconds());

String date = year + "/" + month + "/" + day;
/*取得目前的日期*/

String time = date + " " + hour + ":" + minute + ":" + second;
/*取得目前的日期与时间*/

strEmail=request.getParameter("E-Mail");
strEmail=strEmail.trim();
tmpbyte=strEmail.getBytes("ISO8859_1");
strEmail=new String(tmpbyte);

strPoster=request.getParameter("Poster");
strPoster=strPoster.trim();
tmpbyte=strPoster.getBytes("ISO8859_1");
strPoster=new String(tmpbyte);

strTitle=request.getParameter("Title");
strTitle=strTitle.trim();
tmpbyte=strTitle.getBytes("ISO8859_1");
strTitle=new String(tmpbyte);

strContent=request.getParameter("Content");
strContent=strContent.trim();
tmpbyte=strContent.getBytes("ISO8859_1");
strContent=new String(tmpbyte);

if(!RepID.equals("0")) /*若RepID不为0时表示新增一笔回应某主题的文章*/
{
String strSQL = "INSERT INTO Board" +
" (Poster,PostTime,Title,Content,RepID) VALUES " +
"('<A Href = \"mailto:" + request.getParameter("E-Mail") +
"\">" + request.getParameter("Poster") + "</A>','" + date +
"','" + request.getParameter("Title") + "','" +
request.getParameter("Content") + "'," + RepID + ")";
/*建立将回应文章资料新增至资料库的SQL语句*/

stmt.executeUpdate(strSQL); /*执行SQL语句新增资料*/

strSQL = "UPDATE Board SET RepNum = RepNum + 1, " +
"LastRep = '" + time +
"', ConNum = ConNum + 1 WHERE ID = " + RepID;
/*建立更新原始张贴文章记录中的LastRep RepNum与ConNum之SQL语句*/

stmt.executeUpdate(strSQL); /*执行SQL语句进行资料更新*/

response.sendRedirect("content.jsp?ID="+ RepID + "&Reload=yes" );
/*将显示网页导向至content.jsp文件*/
}
else /*若RepID为0时表示新增一笔新主题的文章*/
{
/*
String strSQL = "INSERT INTO Board(Poster,PostTime, " +
"Title,Content,RepID,RepNum,LastRep,ConNum) VALUES " +
"('<A Href = \"mailto:" + request.getParameter("E-Mail") + "\">" +
request.getParameter("Poster") + "</A>','" + date + "','" +
request.getParameter("Title") + "','" +
request.getParameter("Content") + "',0,0,'" + time + "',1)";
*/
String strSQL = "INSERT INTO Board(Poster,PostTime, " +
"Title,Content,RepID,RepNum,LastRep,ConNum) VALUES " +
"('<A Href = \"mailto:" + strEmail + "\">" +
strPoster + "</A>','" + date + "','" +
strTitle + "','" +
strContent + "',0,0,'" + time + "',1)";
/*建立将新主题文章资料新增至资料库的SQL语句*/

stmt.executeUpdate(strSQL); /*执行SQL语句新增资料*/

response.sendRedirect("content.jsp?Reload=yes");
/*将显示网页导向至content.jsp文件*/
}

stmt.close(); /*关闭Statement对象*/
con.close(); /*关闭Connection对象*/
%>

回复
lovejsp 2001-08-08
insert into table_name vlalues('values')
回复
jeston 2001-08-08
insert into table_name values('("哈".getBytes("ISO8859-1")).toString()')
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-08-08 10:05
社区公告
暂无公告