如果我有一个设置为UTF-8的HTML页面。 然后我在表单中输入编码为big5的汉字并提交。 什么编码它在服务器端? 它会自动转换为UTF-8吗? 或者它是如何工作的? 谢谢!它是什么编码?
补充1: 其实我真的不确定,为什么浏览器可以决定使用哪种编码?因为编码是由IME生成的。例如:我用来输入中文字符的工具,对吧?
supplement2: 如果一切就像什么“迈克尔·马德森”在下面回应说,那怎么能ASP.NET处理这个问题,这样,无论而且不管我怎么输入表单中的字符,它会不会总是被破坏,但jsp不能?
为什么?系统可以自动将字符串从big5转换为utf-8? – MemoryLeak 2009-09-02 15:05:43
是的。操作系统知道如何从每个编码中的值转换为实际字符,当操作系统正在使用操作系统时,操作系统的内部编码将用操作系统的内部编码来表示。这就是为什么传统应用程序仍能在Windows上工作的原因--Windows在内部使用UTF-16,但使用特定语言代码页的传统应用程序可以调用兼容性层,基本上在发送给函数的文本之后调用Unicode版本的API函数已被转换(当然,从API函数返回的文本也以其他方式转换)。 – 2009-09-02 15:48:18
由于浏览器支持Unicode,因此它可以理解并处理操作系统给予它的东西,而无需转换。一旦被告知提交表单,它就会从系统编码转换为服务器请求的编码并发送转换后的文本。 – 2009-09-02 15:50:19