Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 2在数据库中插入西里尔字母_Php_Postgresql_Symfony - Fatal编程技术网

Php Symfony 2在数据库中插入西里尔字母

Php Symfony 2在数据库中插入西里尔字母,php,postgresql,symfony,Php,Postgresql,Symfony,最近,我在尝试在数据库中插入一些俄语西里尔文文本时遇到了一些问题。我使用的是symfony2框架,我使用的是ORM和Nginx web服务器。数据库是一个PostgreSql。有时,当我尝试在列中插入俄语文本时,会出现此消息的500内部服务器错误: SQLSTATE[22021]: Character not in repertoire: 7 ERREUR: invalid byte sequence for encoding « UTF8 » : 0xd1 最奇怪的是,它发生在一列中,而不是

最近,我在尝试在数据库中插入一些俄语西里尔文文本时遇到了一些问题。我使用的是symfony2框架,我使用的是ORM和Nginx web服务器。数据库是一个PostgreSql。有时,当我尝试在列中插入俄语文本时,会出现此消息的500内部服务器错误:

SQLSTATE[22021]: Character not in repertoire: 7 ERREUR: invalid byte sequence for encoding « UTF8 » : 0xd1
最奇怪的是,它发生在一列中,而不是另一列中有相同的字符串。。。我的php文件和DB在UTF8中编码正确

是否有人已经遇到了同样的问题,并成功地解决了它?非常感谢你的帮助

来自psql的\l请求显示编码UTF8和Collate以及Ctype fr\u fr.UTF-8

server_encoding UTF8

client_encoding UTF8

根据展示的情况,,如果该错误仅出现在一列中,且另一列的字符串相同,则我认为您需要确保给出错误的列具有正确的排序规则,因为问题肯定与
字符不在指令集中有关:7 ERREUR:编码«UTF8»的字节序列无效:0xd1
,原因是
Ctypefr_fr.UTF-8
,因为
fr_fr
的字节范围不同于西里尔文

我用utf-8unicode(或通用)编码的所有表/排序规则管理mysql数据库中的西里尔字符


希望这有帮助。

嗨,谢谢你的回答。如果我想更改排序规则,我必须创建一个新的数据库,对吗?但是,我可以使用SQL请求插入西里尔字符。。。因此,问题可能来自symfony?如果该表是唯一具有“Ctype fr_fr.UTF-8”的表,则只对其应用更改,否则最好将所有数据迁移到具有正确参数的新数据库。如果我记得很清楚,也很了解您需要什么,您可以使用西里尔文,而无需在插入SQL Req之前对其进行编码。我在路线中也使用了西里尔文,没有任何问题(这里只有一些注意事项)