【问题标题】:how to get rid of  character in html form如何摆脱  在 html 表单中的字符
【发布时间】:2012-03-22 18:05:34
【问题描述】:

我的输入标签开始发疯...我有用于输入数据库的 html 表单,它工作正常...有一刻它开始输入我“”,然后将文本键入数据库并查看.. .

如果重要的项目是Java,数据是MySQL。

代码与我在项目中检查了 10 次的 100 个其他表单相同。

出错的部分是:

<tr>
  <td><label for="agr_notes">Nota</label></td>
  <td><input type="text" name="agr_notes" id="agr_notes" class="text ui-widget-content 
       ui-corner-all"/></td>
</tr>

例如,我在数据库和屏幕上获得 ASD,而不是输入 ASD。

【问题讨论】:

  • 从呈现输入标签的html中你不会发现任何错误。您的错误位于客户端接管 val 和写入数据库之间的某个位置

标签: java mysql html css character-encoding


【解决方案1】:

检查您在数据库中存储数据的表的编码类型。也许它与所有其他表不同。由于字符在插入值之后出现并且所有其他形式都可以工作,因此问题必须围绕编码或字符串格式。

我建议检查数据库中的编码。

【讨论】:

  • 意外的 Â 字符是编码出错的一个非常确定的标志,通常是 UTF-8 编码数据被视为 windows-1252 或 iso-8859-1。至少,应该提供一个功能性 URL。 (代码 sn-ps 是不够的,因为编码主要是在 HTTP 标头中设置的。)
【解决方案2】:

好的,我在 Java 代码中添加了一个新的类导入,从表单创建一个新的局部变量,该变量调用该字段的 getter,该字段为我提供字符串值并执行第一个字符的子字符串方法。 它对我来说很好。我试图找到字符的设置,但这是一项无聊的工作:)。

String s = form.getNotes().substring(2);

然后改为调用:

newImport.setNotes(form.getNotes());

我输入了:

newImport.setNotes(s);

但我每次进入编辑模式时都会设法做另一件事,它会删除我 2 个字符。

我修复了wd,代码是这样的:

String notes;
  String removeFirst = f.getAgr_notes();
  if(removeFirst.startsWith("Â")){
   notes=removeFirst.substring(2);

  } else {notes=removeFirst;}

最后你需要调用 notes 字符串。

【讨论】:

  • 这不是一个好的解决方案,请考虑其他开发人员,将来可能需要阅读您的代码……您应该真正尝试解决问题。你能告诉我,你的 HTML 页面是如何编码的吗?是UTF-8,是只在meta标签中声明为UTF-8,还是文件以UTF-8文件格式存储?一个链接会很有帮助。
  • 是的,整个项目在配置文件中声明为 UTF-8。我什至尝试在该页面上添加另一个元标记,但它又做了一次。我有很多工作和很少的时间,所以必须尝试找到更快的解决方案来使用项目,然后我会测试和解决错误。
猜你喜欢
  • 1970-01-01
  • 2017-08-16
  • 2016-10-15
  • 2013-02-13
  • 2021-05-06
  • 2015-10-31
  • 1970-01-01
  • 1970-01-01
  • 2010-11-19
相关资源
最近更新 更多