即时尝试使用doctrine(在symfony2中)保存到字符串字段(mysql数据库):
$blogpost->setTitle = "Test !§$%&/()=? äöü ÄÖÜ :D";
$em = $this->getDoctrine()->getManager();
$em->persist($blogpost);
$em->flush();
但它救了我:“测试!”
(其余的遗失)
该实体是:
/**
* @ORM\Column(type="string")
*/
protected $Title;
mysql数据库是utf8_general_ci.
(当我用phpmyadmin手动添加实体时,它可以正常工作.)
我需要有德国变形金刚.希望您能够帮助我.
解决方法:
您必须为实体管理连接字符串设置编码:
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
这样,您可以在数据库的所有列上包含UTF8字符.
标签:mysql,diacritics,doctrine,symfony
来源: https://codeday.me/bug/20190520/1143513.html