首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字符集一般,带有关于Zend DB的特定问题-数据显示不正确

字符集一般,带有关于Zend DB的特定问题-数据显示不正确
EN

Stack Overflow用户
提问于 2009-09-16 11:25:33
回答 2查看 527关注 0票数 1

我的Zend框架应用程序显示正确的字符时遇到问题。

例如/ rue de l‘’Odéon

显示为:

rue de l‘on�on

当通过When服务显示信息时,也可以通过应用程序视图显示信息。

我尝试了以下几种方法:

1)在视图中设置字符编码。

代码语言:javascript
运行
复制
$view->setEncoding('UTF-8');

2)确保底层数据库的列/表编码为UTF8 (mysql db)

代码语言:javascript
运行
复制
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8;

3)创建Db连接时,将字符集变量传递给Zend_Db::Factory方法。这是我通过注册表获得的对象的配置部分。

代码语言:javascript
运行
复制
 [_config:protected] => Array
    (
        [host] => localhost
        [username] => root
        [password] => ---------------
        [dbname] => db_staging
        [charset] => utf8
        [options] => Array
            (
                [caseFolding] => 0
                [autoQuoteIdentifiers] => 1
            )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-16 13:12:57

下面是几个问题。我知道其中一些听起来非常愚蠢,但当我遇到这样的问题时,我会自然而然地认为它是如此明显的东西,以至于我会花几天的时间踢自己!:)首先,我假设您使用的是ZF 1.8,因为上面的charset选项?如果不是(或者即使下面的列表不能解决它),切换回旧的方法,看看它是否首先解决了什么问题。

  1. 您能确认表排序规则现在是utf8_general_ci吗,就像所有文本字段一样?上面的命令没有提到排序规则,所以我假设这被设置为默认排序规则(当缺少它时,这是默认的,字符集是utf8)。
  2. 现在,重新发送该命令,但也将排序规则设置为utf8_unicode_ci (比常规排序规则更慢,但更准确-性能会受到很小的影响,但它可能对现有的数据表有帮助)。
  3. 您是否重新输入数据以确保?甚至在已知的UTF-8编辑器中键入它,以便再次检查您是否确实复制了utf8字符;
  4. 您是否100%确定源文本是UTF-8,而不是像ISO-8859-1或Windows1252那样的内容?
  5. 确保视图编码设置得尽可能早(并且新视图添加到ViewRenderer mysql驱动程序中?Mysqli还是PDO?您的选项是否使用了适当的设置?
  6. 是否存在字符编码的视图覆盖?编码取自Content-Type头,然后是任何XML声明(例如XHTML),最后取自Content-Type的meta http-equiv标记。这也是优先顺序--如果较早的声明与UTF-8不一致,页面可能不会使用您想要的声明。您可以通过在前端控制器上设置一个自定义响应对象来重置标题-通常是"Content-Type: text/html;charset=UTF-8".
  7. To检测编码“如果浏览器检测到错误的编码,您也可以通过重置页面的浏览器编码来手动调试,例如Firefox中的”查看“>”字符编码“。
  8. 尝试将输出的文本包装在utf8decode()中的模板中--也许有些东西是双重编码的?更奇怪的事情发生了--

我的UTF-8危机清单;)。如果列出了什么有帮助的,请告诉我。我想它涵盖了我能想到的大部分项目。

票数 3
EN

Stack Overflow用户

发布于 2009-09-17 07:06:56

除了Pádraic的优秀列表之外,还可以看看http://akrabat.com/2009/03/18/utf8-php-and-mysql/

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

https://stackoverflow.com/questions/1432397

复制
相关文章

相似问题

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