2013-09-24 125 views
2

我有一个具有以下内容的字符串Unicode字符:存储字符串中有

\ud83c\udf80NEW STUFF \u0026 SECOND STUFF\n\ud83d\udcf1Sms\/ Kik : 085738566676 \/ veinshop\n\u26d4 All item exclude ongkir\n\u2708Shipping mon-fri\n\ud83d\udcb0BCA only\n\ud83d\ude90JNE\n\ud83c\udfe1 Denpasar-bali 

我想这些信息存储在我的MySQL数据库但它总是给我空。我正在使用doctrine2 ORM作为数据库的接口。以下是具有字符串属性的实体:

class Shop 
{ 

/** 
    * 
    * @var string 
    * @ORM\Column(name="bio", type="string", nullable=true) 
    */ 
    private $bio; 

/** 
    * Set bio 
    * 
    * @param string $bio 
    * @return InstagramShop 
    */ 
    public function setBio($bio) 
    { 
     $this->bio = $bio; 

     return $this; 
    } 

    /** 
    * Get bio 
    * 
    * @return string 
    */ 
    public function getBio() 
    { 
     return $this->bio; 
    } 
} 

当我将此实体店的实体与生物和呼叫持续存在实体上时。存储的值是NULL。我已经把我的表归类到utf8mb4和我DBO字符集来utf8mb4

+0

将表格整理和连接排序规则设置为utf8mb4 – Mihai

+0

@Mihai如何设置连接排序规则? – adit

+0

连接后添加 sql_query('SET NAMES utf8mb4');编辑:在DBO: DBO ::查询('SET NAMES utf8mb4'); –

回答

3

你可能有一个配置,看起来是这样的:

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       dbname: %database_name% 
       ... 
       charset: utf8mb4 

确保charset设置为utf8mb4。这是您的连接整理。