查询参数的Symfony2字符集
我在Symfony2中有一个项目,它在本地主机上运行良好,但在将其移动到外部服务器之后,问题就开始了查询参数的Symfony2字符集,symfony,configuration,character-encoding,query-builder,Symfony,Configuration,Character Encoding,Query Builder,我在Symfony2中有一个项目,它在本地主机上运行良好,但在将其移动到外部服务器之后,问题就开始了 我没有从包含波兰语字符的数据库中看到任何结果名称 在Profiler中,我检查了查询: “Parameters”节具有正确的字符集 “runnable query”具有相同的参数,但字符集不正确 例如: (…) 式中(((c1)名称类似于“%Å�%') 或(c3)名称,如“%Å”�%') 或(…) 参数:[“%ś%”、“%ś%”、(…)] 所有数据库表都具有charset=utf8\u un
- “Parameters”节具有正确的字符集
- “runnable query”具有相同的参数,但字符集不正确
(…)
式中(((c1)名称类似于“%Å�%') 或(c3)名称,如“%Å”�%') 或(…)
参数:[“%ś%”、“%ś%”、(…)]
所有数据库表都具有charset=utf8\u unicode\u ci
在config.yml中,我设置了
doctrine:
dbal:
charset: UTF8
设置框架字符集不起作用
/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".
但不幸的是,我无法访问该服务器上的php.ini。是否可能是magic_quotes_gpc导致了该问题?
我也不能访问命令行,所以我通过ftp和phpmyadmin添加了项目(数据库、文件系统、供应商)
因为我的本地主机没有问题,我想这是服务器配置的问题,我没有访问权限,所以我看到的唯一方法是尝试更改QueryBuilder的字符集配置。我在哪里可以做到这一点?你知道还有什么会导致这个问题吗
感谢找到解决方案:
要设置“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'"
它现在工作正常。您比较了两台服务器上的phpinfo();了吗?否则,您的外部web服务器是否运行utf-8?(AddDefaultCharset utf-8,php_value default_charset“utf-8”在htaccess中)正如您所说,我已经设置了字符集UTF8,并将phpinfos字段与字符集进行了比较。它们是相同的,但问题仍然存在。我了解到此服务器默认运行latin2,所以我尝试将所有内容更改为latin2,但没有任何帮助。我正在尝试找到用参数数组中的元素替换“?”符号的位置/函数。是这样吗P培训工作?我如何一步一步地检查那里的情况?