【问题标题】:ZEND PHP + JQUERY encoding issueZEND PHP + JQUERY 编码问题
【发布时间】:2012-03-22 16:48:09
【问题描述】:

我知道这个话题到目前为止已经被描述过几次,但这是我的一个奇怪的话题:

我的数据库设置为

latin-2-general-ci

我的页面设置为:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  <?php header('Content-type: text/html; charset=utf-8');?>

当我尝试使用波兰语字母时出现问题,即“ą / ł” 我必须以不同的方式将信息添加到我的 MySQL 库中。
首先使用 AJAX-JQUERY- 没有存储波兰字母,看起来像这样:

阿乌?

,但令人惊讶的是,当我使用 JS 将它们放在屏幕上时看起来不错 - ą

其次是 zend_form - 仅使用 PHP 代码直接添加信息,字符以我输入它们的方式存储 - 在我的数据库中:łołoł 但是当 JS 尝试读取它时,这些字符被省略 f.e

数据库:lołoł

视图:oo

知道怎么解决吗?

问候
拉德克

【问题讨论】:

  • 您应该在整个管道中使用 utf-8。将 latin-2 从数据库中取出并将其转储到 utf-8 环境中是行不通的。
  • 把所有东西都改成 utf-8 还是一样的问题

标签: php jquery zend-framework zend-form


【解决方案1】:

如果您使用 application.ini 配置文件,只需将以下行放入:

resources.db.params.charset = "utf8"
resources.db.params.driver_options.1002 = "SET NAMES utf-8"

【讨论】:

  • 我设置了这个选项,并确保我在所有地方都使用 utf-8 仍然存在同样的问题
【解决方案2】:

确保您的编码设置正确(最好全部设置为“UTF-8”):

  • database connection
  • PHP 的输出标头('Content-type: text/html; charset=utf-8')
  • HTML 元标题

并确保您在这两者之间没有做任何奇怪的事情(例如致电utf8_encode)。您需要覆盖所有基础才能使其正常工作。

【讨论】:

  • 感谢您的回答,我没有做 utf8_en 之类的怪事...但是请您给 ma 建议如何使用 zend 框架设置数据库连接?非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
  • 2015-10-01
相关资源
最近更新 更多