在网页上,经常有<textArea>....</ textArea>类型的存在.
我们在textArea中放几段文件,然后保存到数据库.在保存的过程中,难道不需要对其中的换行进行处理吗?
存入进去之后,我还希望读出来的时候,保存的时候有一样的格式..

解决方案 »

  1.   

    回车的ASCII是13
    换行的ASCII是10,所以可以用函数CHR来把ascii转为字符,如chr(13)就是回车符,chr(10)就是换行符select 'a'||chr(13)||chr(10)||'b' from dual;
      

  2.   

    这里有两种做法,一种是在sql语句里将文字先转义。这个比较麻烦了,你需要转义的不仅仅是换行,还包括其他的oracle保留字符。
    方法同上还一种相对简单,是程序传参实现的,比如java语言提供的preparedstatement解释参数绑定的处理,调用的时候,只需要和你的参数绑定就可以叻。
    方法如下
    string strsql = "insert into t_content(id, content) values(?,?)";
    preparedstatement pstmt = conn.preparestatement(strsql);
    pstmt.setstring(1,"10000");
    pstmt.setstring(2, htmlContent);pstmt.executeUpate();
      

  3.   

    这个看是通过哪种方式往数据库写数据,可以采取不同的方式来处理。如果是通过存储过程,那么就用oracle提供的chr函数来得到回车换行这种不可见字符,如1楼。如果是通过程序,那么只要你组装出来的内容包含回车换行就可以了,各种语言表示回车换行的方式各不相同,比如C:
    sprintf(content,"%s\n%s\n", textarea1, textarea2);然后把content写入数据库,内容自然就包含了换行的信息。