2011-01-14 9 views
3

"set names"쿼리를 실행하기 위해 Symfony2 (symfony-reloaded) yml 설정 파일에서 DBAL/Doctrine2를 설정하는 방법을 아는 사람이 있습니까? 이 질문은 다른 곳에서 묻지 만 정답을 찾을 수 없습니다. 이러한 설정 옵션이없는 경우문자셋을 설정하기 위해 Symfony2를 통해 DBAL을 설정하십시오

http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-sandbox-database-collation-49626/

은 어떻게 PHP를 사용하여 구현할 수있다? Symfony2 프로젝트에서이 작업을 수행 할 수있는 적절한 위치는 어디입니까?

답변

4

아직 가능하지 않습니다. 나는 이것을 이미 허용하고 있으며, 곧 가능할 것입니다.

+0

응답 해 주셔서 감사합니다. 위에 링크 된 예제에서 저자는 다른 종류의 구성을 수행하고 있습니다. 어떤 이미지가 좋을지 이미지 할 수 있습니까? symfony2/doctrine2/mysql을 사용하여 utf8을 수행하는 방법이 있어야한다고 생각합니다. – Paul

+1

좋아, 이것에 대한 패치가 몇 일 전 심포니에 적용된 구문은 다음과 같습니다 doctrine.dbal : 연결 : 기본 : 캐릭터 세트 : UTF-8 I 심포니를 사용하고 있지 않다 – beberlei

+0

, 나는에 어디 있나요 다음 인코딩을 설정? 현재 PDO의 속성에서'\ PDO :: MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"'을 사용하고 있지만 최상의 해결책은 아닙니다. –

1

이 문제에 부딪히는 다른 사람들을위한 것입니다. 이것은 내가 무슨 짓을 :

내가 Symfony\Bundle\FrameworkBundle\Controller\Controller를 서브 클래스 결국 및 방법 getEntityManager 소개 : 나는 (지금 DoctrineController을 물론 어떤 서브 클래스 내 컨트롤러에 EntityManager 또는 저장소에 액세스하려는 오전 그래서 매번

public function getEntityManager() 
{ 
    $em = $this->get('doctrine.orm.entity_manager'); 
    static $utf8_set = false; 
    if (!$utf8_set) { 
     $em->getEventManager()->addEventSubscriber(new MysqlSessionInit('utf8','utf8_unicode_ci')); 
     $utf8_set = true; 
    } 
    return $em; 
} 

을) 전화 :

$this->getEntityManager() 

resp.

$this->getEntityManager()->getRepository('What\Ever\Entity\I\Am\Looking\For') 
+0

DoctrineControllerTrait에서 더 좋을 것입니다. :) – juanmf

관련 문제