数据库字符编码和界面文本输入框字数限制问题
2006-09-26 20:42
281 查看
[align=left]作者:Maverick[/align]
[align=left][/align]
[align=left][/align]
[align=left][/align]
[align=left] blog:http://blog.csdn.net/zhaohuabing 转载请注明出处
在工作中遇到一个问题,有一个字段在oracle数据库中长度限制为2000,该字段可以从用户界面输入,因此需要进行限制输入框的输入字符数,保证符合oracle数据库中该字段的长度限制。经过测试发现,输入英文字符可以输入2000个,输入中文字符可以输入666个,如果中英文混合输入,只能输入666到2000之间,如果输入的字符数目超过上述的限制,将报数据库输入字段超长的错误。 原因应该是oracle采用了UTF-8的编码格式,该编码格式中英文占一个字符,中文占三个字符,在界面中可以这样限制输入: 利用String.getBytes("UTF-8")可以得到输入字符的字节大小 [/align]
class LimitedDocument extends PlainDocument
{
/**
* 插入字符
* @param offs 输入的字符在textField中的偏移量
* @param str 当前输入的字符串
* @param a
* @throws BadLocationException
*/
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
{
if (str.getBytes("UTF-8").length > 2000)
{
Toolkit.getDefaultToolkit().beep();
}
else
{
super.insertString(offs, str, a);
}
}
}
JTextArea limitedTextArea = new JTextArea();
limitedTextArea.setDocument(new LimitedDocument());
[align=left][/align]
[align=left][/align]
[align=left][/align]
[align=left] blog:http://blog.csdn.net/zhaohuabing 转载请注明出处
在工作中遇到一个问题,有一个字段在oracle数据库中长度限制为2000,该字段可以从用户界面输入,因此需要进行限制输入框的输入字符数,保证符合oracle数据库中该字段的长度限制。经过测试发现,输入英文字符可以输入2000个,输入中文字符可以输入666个,如果中英文混合输入,只能输入666到2000之间,如果输入的字符数目超过上述的限制,将报数据库输入字段超长的错误。 原因应该是oracle采用了UTF-8的编码格式,该编码格式中英文占一个字符,中文占三个字符,在界面中可以这样限制输入: 利用String.getBytes("UTF-8")可以得到输入字符的字节大小 [/align]
class LimitedDocument extends PlainDocument
{
/**
* 插入字符
* @param offs 输入的字符在textField中的偏移量
* @param str 当前输入的字符串
* @param a
* @throws BadLocationException
*/
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
{
if (str.getBytes("UTF-8").length > 2000)
{
Toolkit.getDefaultToolkit().beep();
}
else
{
super.insertString(offs, str, a);
}
}
}
JTextArea limitedTextArea = new JTextArea();
limitedTextArea.setDocument(new LimitedDocument());
相关文章推荐
- 在IE环境下对多行文本输入框textarea进行字数限制
- 输入框字数限制+动态提示:10个汉字或20个字符的问题
- jQuery 高级表单之 ---- jQuery实现简单限制文本输入框的输入字数
- UITextField限制输入字数高亮状态下输入框内真实类容与textFiled(解决中文输入问题)
- 关于textview的限制文本字数的问题会汇总
- iOS中UITextField的字数限制 emoji被截断问题
- java制作登陆界面验证问题mysql为数据库
- 用于限制文本中输入框中只能输入日期格式的函数
- 弹出输入框,输入字数限制,统计剩余数字
- Javascript动态添加文本输入框在后台无法取值问题的解决
- Sql Server 2008 在备份还原后出现数据库“受限制用户”的问题解决
- Sql Server 2005 数据库备份还原后出现“受限制用户”问题的解决[转]
- Vmware 中安装 Ubuntu Server (或者ubuntu 以文本界面登陆时) 分辨率无法全屏问题
- 控件textbox的TextMode="MultiLine"时的限制字数多少问题
- 设置MySql5.5数据库的字符编码为UTF8,解决中文乱码问题
- 解决google登录界面input输入框颜色不正确问题
- [Database] SqlServer: Sql Server 2005 数据库备份还原后出现“受限制用户”问题的解决
- 实现对UITextField ,UITextView等输入框的 字数限制
- qt中的lineEdit文本输入框的输入类型限制(三种验证类)
- 解决iOS7上UITextField限制字数输入导致崩溃问题的方法