HTML表单给出奇怪的工件

时间:2013-06-15 16:46:06

标签: html forms

我正在创建一个表单,我不断在文本框旁边找到一个奇怪的工件。 因此,在<br>之后和<textarea页面正好加载​之后。

导致这种情况的原因是什么?

    <input name="pasnr" type="text" value="<?=$pasnr ?>" size="79"><br>
    Commentaar: <br>
    ​<textarea name="comments" rows="10" cols="50"><?=$comments ?></textarea><br>
    <input type="submit" name="Submit" value="Change">

2 个答案:

答案 0 :(得分:4)

这看起来像编码问题。

Unicode字符ZERO WIDTH SPACE位于代码点U+200B。当以UTF-8表示时,该字符由三个字节E2 80 8B表示。如果这些字节被解释为CP-1252 encoding中的字符,则它们显示为字符​

从这些字符出现在页面上的位置看起来你在编辑器中引入了零宽度空格字符(使用utf-8),因为你没有指定编码,浏览器默认为CP-1252。

在这种情况下,一个简单的解决方法是指定页面的编码,方法是设置Content-type标头,或者在页面中添加<meta charset='utf-8'>(假设您使用的是HTML5)。 (或者只是找到文件中的字符并将其删除)。

更一般地说,您需要确保在整个应用程序中使用的编码是一致的(即您的页面,数据库,表单提交中的数据)。如果您是角色编码的新手,一个好的起点是Joel Spolsky’s article

答案 1 :(得分:1)

刚查看过您网页的来源,textarea之前只有一些垃圾。

我敢打赌这是UFT8 BOM(utf8编码文件开头的特殊3char序列)。如果页面源来自文本文件,请检查文件开头是否有UTF8 BOM,并保存没有BOM的文件。