首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储波兰语字符utf8原则2PHP,MySQL,Zend框架

存储波兰语字符utf8原则2PHP,MySQL,Zend框架
EN

Stack Overflow用户
提问于 2012-01-09 19:27:13
回答 5查看 2.8K关注 0票数 0

我有一个使用Zend框架编写的CMS应用程序,允许您翻译内容。这对于德语和法语字符非常有效,但对于波兰语却很困难,我已经正确地设置了数据库和连接(据我所知),但我仍然得到垃圾存储和返回波兰语。数据库是utf8_general_ci,字段也是。resources.entityManager.connection.default.parameters.driverOptions.1002连接参数: resources.entityManager.connection.charset = "utf8“Doctrine = "SET NAMES 'UTF8'”

包含发布翻译的数据库表单的页面有: header('Content-type: text/html;charset=utf-8');(在顶部) meta http-equiv="Content-Type" content="text/html; charset=utf8" /

我对保存到数据库的字符串没有额外的编码(原则2):

代码语言:javascript
运行
复制
 $cn->setContent($pageForm->getValue($field));

所以,法国和德国对此相当满意,但以下波兰语: specjalisty w produkcji zawieszeń,szybkość

存储和视图为: specjalisty w produkcji zawieszeä“,szybkoÅ>ć

我在这篇文章中转了一圈,所以任何想法都会非常感谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-11 22:44:10

实际的问题是,我是如何在Doctrine2中设置utf8的。我通过实体管理器进行连接,并且需要使用这些设置,而不是使用Bootstrap或application.ini

代码语言:javascript
运行
复制
'charset' => 'utf8', 'driverOptions' => array(1002=>'SET NAMES utf8')
票数 3
EN

Stack Overflow用户

发布于 2013-11-15 00:57:24

在config的orm_default中设置'charset' => 'utf8'解决了我的问题。

代码语言:javascript
运行
复制
<?php
return array(
    'doctrine' => array(
        'connection' => array(
            'orm_default' => array(
                'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
                'params'      => array(
                    'host'     => 'localhost',
                    'user'     => 'dbuser',
                    'password' => 'dbpass',
                    'dbname'   => 'dbname',

                    'charset'  => 'utf8',
                 // ^^^^^^^^^^^^^^^^^^^^^
                )
            )
        ),
        'driver'     => array(
            'zfcuser_entity' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'paths' => 'module/Application/src/Application/Entity',
            ),
            'orm_default'    => array(
                'drivers' => array(
                    'Application\Entity' => 'zfcuser_entity',
                ),
            ),
        ),
    ),
    'zfcuser'  => array(
        'user_entity_class'       => 'Application\Entity\User',
        'enable_default_entities' => false,
    ),
);
票数 6
EN

Stack Overflow用户

发布于 2012-07-09 00:52:04

作为将来的参考,根据您如何使用Zend Framework设置Doctrine,application.ini中的以下代码行可能会为您解决此问题:

代码语言:javascript
运行
复制
doctrine.connectionParameters.charset = "UTF8"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8787683

复制
相关文章

相似问题

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