【问题标题】:Dwoo does not echo strings with utf8 charactersDwoo 不回显带有 utf8 字符的字符串
【发布时间】:2010-01-14 02:28:03
【问题描述】:

Zend Framework 有一个奇怪的问题 - 我从设置为 utf8_general_ci 的 MySql 表中获取数据。
我插入了一些带有波兰字体的数据,例如ś ę ż...,然后将这些数据推送到查看(Dwoo)。

    {foreach $units unit}
        <tr>
            <td>{$unit.id_unit}</td>
            <td>{$unit.name}</td>
        </tr>
    {/foreach}

如果 $unit.name 包含波兰字符 - Dwoo 不会回显任何内容 - 如果没有,它会起作用。

我在引导程序中设置

$db->query('SET NAMES utf8');
$db->query('SET CHARACTER SET utf8');

但它没有帮助。
我没有更多的想法。

编辑:
问题仅在本地主机(Windows)上,但在远程服务器(Linux)上很好。

【问题讨论】:

  • 你确定 Dwoo 支持 utf-8 吗?
  • 您是否尝试在控制器中回显数据,然后再将其发送到 dwoo?
  • 是的 - 它与所有字符都很好地呼应。

标签: zend-framework utf-8 character-encoding zend-db dwoo


【解决方案1】:

这真的很奇怪,我做了一个对我来说很好的最小测试用例:

$dwoo = new Dwoo();
$tpl = new Dwoo_Template_String('{$var}');
$var = 'ś ę ż.';

echo $dwoo->get($tpl, array('var'=>$var));

输出是“ś ę ż”。好的。

【讨论】:

  • 只是mysql/php配置错误。
  • 这很奇怪,如果你能在它进入 dwoo 之前正确地转储它。也许您在本地导入的数据不正确,而您在 sql 中的数据实际上不是 utf8 ?
  • 顺便说一句,我想知道你为什么不接受我在 stackoverflow.com/questions/2005673/… 上的解决方案 - 这似乎比在 env var 中丢东西更不那么骇人听闻。
  • 没什么私人的 - 我使用了我的解决方案,它可以肯定地工作,即使它有点 hackish。 ;)
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 2016-07-23
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多