首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向表单提交中文字符时显示不正确-始终使用UTF8编码

问向表单提交中文字符时显示不正确-始终使用UTF8编码
EN

Stack Overflow用户
提问于 2011-11-18 01:51:54
回答 3查看 2.7K关注 0票数 1

我使用的是CakePHP。我有:

在我的模板中设置了<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。

Configure::write('App.encoding', 'UTF-8');已设置。

我的数据库使用utf-8编码(在database.php - (encoding=>'utf8')中,如果我手动输入中文字符,它们将被正确地存储;并且我可以毫无问题地输出它们。

此屏幕截图显示了输出:

​

​

数字1是我手动将中文字符粘贴到MYSQL数据库中时的结果(使用utf8_unicode_ci)。

4和5是当我从我的表单中发布中文字符时发生的事情-难以理解的胡言乱语。

表单编码为:

<form action="/controller/add" accept-charset="utf-8" id="ControllerAddForm" method="post">

所以它应该接受utf-8字符。我可以键入它们;它们在文本框中显示得很好,但我提交的任何内容都会变得非常糟糕。

有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2011-11-18 01:55:55

您是否还在database.php中将数据库连接设置为UTF-8

对于MySQL,这将是:

代码语言:javascript
复制
'encoding' => 'utf8' // no hyphen
票数 0
EN

Stack Overflow用户

发布于 2011-11-20 13:12:20

像mark和Brian said一样,检查POST标题和数据库字符集中的Accept-Encoding参数。

票数 0
EN

Stack Overflow用户

发布于 2011-11-30 00:33:45

可能这些字符不是UTF-8兼容的字符...

http://www.126.com/使用charset=gb2312

http://en.wikipedia.org/wiki/GB_2312

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

https://stackoverflow.com/questions/8171897

复制
相关文章

相似问题

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