use*_*876 7 configuration character-encoding query-builder symfony
我在Symfony2中有一个项目,它在我的本地主机上运行良好,但在将其移动到外部服务器后问题已经开始.
例如:
(...)
WHERE ((((c1_.name LIKE '%Å?%') OR (c3_.name LIKE '%Å?%') OR (..)
Parameters: ['%?%', '%?%', (...)]
所有数据库表都有charset = utf8_unicode_ci.
在config.yml我设置
doctrine:
dbal:
charset: UTF8
Run Code Online (Sandbox Code Playgroud)
设置框架charset不起作用.
/config.php测试说:
RECOMMENDATIONS:
1. Install and enable a PHP accelerator like APC (highly recommended).
2. Set short_open_tag to off in php.ini*.
3. Set magic_quotes_gpc to off in php.ini*.
* Changes to the php.ini file must be done in "/usr/local/php/php.ini".
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我无法访问该服务器上的php.ini.这可能是magic_quotes_gpc导致了这个问题吗?我也无法访问命令行,所以我通过ftp和phpmyadmin添加了项目(数据库,文件系统,供应商).
Becouse我在本地主机上没有问题我猜这是服务器配置的问题,我无法访问它,我看到的唯一方法是尝试更改QueryBuilder的charset配置.我在哪里可以做到的?你知道还有什么可能导致这个问题吗?
谢谢
找到解决方案:要设置"SET NAMES utf8",我改变了我的学说配置
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
options:
1002: "SET NAMES 'UTF8'"
Run Code Online (Sandbox Code Playgroud)
它现在工作正常.
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |