我有一个包含以下内容的字符串:

  \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作为数据库的接口。以下是具有string属性的实体:
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;
    }
}

当我用bio设置这个商店实体并调用persist时。存储的值为空。我已将表排序规则设置为utf8mb4,将dbo中的字符集设置为utf8mb4

最佳答案

您的配置可能如下所示:

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

确保charset设置为utf8mb4。这是您的连接排序规则。

关于php - 存储其中具有Unicode字符的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18985000/

10-14 14:39
查看更多