是否有解决所有字符编码问题的一站式解决方案?我似乎总是在用户输入、数据库存储和数据检索(html表单)之间的某处遇到问题。我希望我所有的数据和网页都被编码为utf-8,但似乎我总是在某个地方得到一个无效的utf-8字符。
我真的不太理解字符编码,但自从我开始使用法语字符以来,我总是遇到问题。另一个开发人员在将所有内容发送到数据库之前对其进行urlencode,然后再对所有内容进行urldecodes,这让我不寒而栗。
据我所知,html表单将根据用户环境接受任何字符,这取决于服务器端尝试将其转换为UTF-8或任何首选的格式?
任何进一步的信息将不胜感激!
发布于 2009-08-29 08:34:23
全程使用UTF-8是一站式解决方案。不幸的是,它伴随着对实践中发生的问题的理解而来。如果你有一个特定的问题,在SO上发布一个特定的问题。
Wrt。HTML表单:不,这并不取决于用户的环境。浏览器将(或者应该--实际上大多数情况下)以与发生表单的页面相同的编码发送数据。确保您发送给用户的每个超文本标记语言页面在HTTP Content-type头中都有一个charset=字段;另外,还要在超文本标记语言文件本身中放置一个http-equiv元标记(这有助于防止用户缓存或保存超文本标记语言页面)。因此,当HTML页面采用UTF-8格式时,浏览器发送的数据也采用UTF-8格式。
发布于 2009-08-29 08:39:40
在我的项目中,发送到我的数据库的第一个查询是
集合名称'utf8';
只需在建立MySQL连接之后。
数据转储也是如此。当我将数据库转储到.sql文件时,我在开头插入了上面的查询。
它为我工作了几年,在许多托管公司和专用服务器上都没有出现问题。
https://stackoverflow.com/questions/1350849
复制相似问题