不要以為用.length()就可以解決瞭,那就不拿來問瞭~
先簡單介紹下需求吧:
最近做一個郵箱(短消息)系統,短消息內容數據庫裡面是nvarchar(200),系統使用jsp做的,現在在向數據庫插入一條短消息時想對插入的內容進行長度判斷,如果超過nvarchar(200)的這個長度就提示用戶不合法。
以上是需求,但是短消息可以輸入字母,數字,漢字等,這樣用.length()得到的長度是字符長度,就是說1個數字或一個字母或一個漢字它都以1個長度計算,但是漢字在數據庫相當與2個長度,而字母數字是一個。
也就是說nvarchar(100)能存100個字母或數字,但是隻能存50個漢字。
好,問題出來瞭,如何將頁面獲得的這條內容長度輸出來呢?以統一的長度格式(純字母長度或純漢字長度)。
還望大師門指點迷津啊~小鳥在這謝過瞭~
問題解決瞭~
就是用string.getBytes().length就可以瞭。呵呵~
白天的時候我寫的是string.getBytes(“iso8859-1”).length,但是一直取不對~