2013-09-24 167 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。這是您的連接整理。