我一直在使用表单,并看到< meta charset =“ISO-8859-7”>标签对将在文本区域中键入的文本进行编码.事情是用于存储文件的编码方法不是.
我已经看到,如果键入的字符不是< meta charset =“ISO-8859-7”>所规定的编码的一部分.标签,该字符将为referenced(& #D;)
我假设表单是从编码speciefied发送字节序列.
因为如果我键入一个字符,它将是一个编码将解释的字节.
例如,使用< meta charset =“ISO-8859-7”>
我输入一个字符“¥”的形式
这个char不是编码的一部分,但它必须作为它代表A5的位置的一个字节发送,无论它是否可以表示(这通常由任何编辑器制作).
但不是,表单不会将其作为字节发送,而是字符为referenced.
码:
index.php文件:
Submit
encode.php:
$input=$_POST["input"];
var_dump($input);
?>
源代码中的结果:
string(6) "¥"
注意:我已经测试过更改用于存储文件的编码.
在index.php中:
无论使用什么编码来存储文件,表单总是会相应地使用accept-charset =“”属性或使用< meta charset =“”>进行发送.如果未指定accept-charset =“”,则标记.
并使用encode.php:
字符串永远不会被文件编码.可以工作和表示,但用于存储文件的编码与此无关.