gpt4 book ai didi

PHP 在 Postgresql 服务器之间以不同方式解释字符串

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:59 24 4
gpt4 key购买 nike

我有 php 代码,它将字符串提交到两个不同服务器上的两个 postgresql 数据库。

字符串是:

'£pound €euro'

PHP 服务器版本:

  • PHP 5.4.36-0+deb7u3
  • Debian Linux 3.2.0-4-amd64

服务器 1 版本:

  • Debian Linux 2.6.32-5-amd64
  • Postgresql:2011 年 9 月 1 日

服务器 2 版本:

  • Debian Linux 2.6.32-5-amd64
  • Postgresql:9.1.7

两者的服务器编码都是UTF8

client_encoding 也是 UTF8

两个服务器的区域设置也相同。

以下代码用于执行查询:

$oConn=@pg_Connect('host=$myip dbname=$mydb user=$myuser password=$mypassword');
$sql = "select * from _myfunction($mystring)";
$result=@pg_query($oConn, $sql);

我发现,当执行查询时,服务器 1 会收到以下内容:

select * from _myfunction('£pound €euro')

但是在服务器 2 上正在接收以下内容:

select * from _myfunction('£pound �euro')

是否有人知道我可以在哪里查找导致两台服务器之间收到的查询存在差异的原因。看到服务器 2 的查询变得很奇怪,数据库其他部分的无效字节序列错误导致了问题。

我被难住了。我能看到的唯一区别是 postgresql 的次要版本。

最佳答案

我猜你的 postgree 字符集在两台服务器上不一样。请参阅How can i change database encoding for a PostgreSQL database using sql or phpPgAdmin? ,也许对你有帮助

关于PHP 在 Postgresql 服务器之间以不同方式解释字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com