首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么保存其他特殊字符时,这个字符一直出现在我的db:中?

问为什么保存其他特殊字符时,这个字符一直出现在我的db:中?
EN

Stack Overflow用户
提问于 2012-07-10 01:52:35
回答 1查看 155关注 0票数 0

似乎当我向我的数据库添加任何特殊字符(如©和®)时,它会保存它,包括这个字符:Â,所以它像这个©一样保存它现在越来越多。

当我保存数据时,我可以认为数据库正在做这件事(但这似乎只是目前正在发生的事情),也许是因为浏览器?由于我在将数据保存到数据库时不会对数据执行HTMLEncode操作,但可能并不是因为我无法亲自重现该问题,所以我想知道其他人是否也遇到了同样的问题?

你认为是web浏览器在做这个吗?也许是因为通过jQuery提交表单而导致的?造成这种情况的罪魁祸首可能是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-10 01:57:04

这是由不匹配的编码引起的,通常应用程序的一部分使用iso-8859-1,另一部分使用utf-8

检查您的数据库和单个表定义、网页内容编码和表单编码。确保它们始终使用相同的编码。我们使用utf-8做任何事情,端到端。

我们使用的是MySQL,而不是SQL Server,所以我不知道具体细节。对于MySQL,我们的DDL文件定义表的结尾通常是这样的

代码语言:javascript
复制
    SOMEDATA VARCHAR(100),
    INDEX USER_ID
)
engine = InnoDB
default character set utf8
collate = utf8_general_ci

和包含在所有/生成的页面中的公共标头中

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

在<form>标记中,您可以显式设置accept-charset

代码语言:javascript
复制
<form accept-charset="utf-8" (etc)>

请在此处查看这个不完全相关的question

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11400390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档