2

次の内容の文字列があります。

  \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;
    }
}

この Shop エンティティをバイオで設定すると、エンティティに永続化されます。格納された値は NULL です。テーブルの照合順序を に設定utf8mb4し、dbo の文字セットを に設定しましたutf8mb4

4

1 に答える 1

3

おそらく、次のような構成があります。

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

charsetが に設定されていることを確認しutf8mb4ます。これが接続照合です。

于 2013-09-24T16:11:28.033 に答える