数据库中的cakephp编码

数据库中的cakephp编码,cakephp,encoding,Cakephp,Encoding,我对数据库中的字符编码有问题。我正在使用带有win1250编码的Postgres,但不管我在core.php中放了什么(现在我有这行代码): 有时它会从数据库中给我一些奇怪的字母,例如Èind代替È。有什么我可以做得到正确的编码 注意:我无法编辑或更改数据库中的任何内容。win1250编码类似于iso-8859-2(请参阅),因此您可能希望尝试使用该编码,而不是iso-8859-1。我认为您只需在数据库连接配置中声明正确的编码选项,如中所述(滚动一点) 看看这一段: 编码 指示向服务器发送SQL

我对数据库中的字符编码有问题。我正在使用带有win1250编码的Postgres,但不管我在core.php中放了什么(现在我有这行代码):

有时它会从数据库中给我一些奇怪的字母,例如Èind代替È。有什么我可以做得到正确的编码


注意:我无法编辑或更改数据库中的任何内容。

win1250编码类似于iso-8859-2(请参阅),因此您可能希望尝试使用该编码,而不是iso-8859-1。

我认为您只需在数据库连接配置中声明正确的
编码
选项,如中所述(滚动一点)

看看这一段:

编码

指示向服务器发送SQL语句时要使用的字符集。这默认为除DB2以外的所有数据库的数据库默认编码。如果希望对mysql/mysqli连接使用UTF-8编码,则必须使用不带连字符的“utf8”


我在以前的一个项目中遇到了相同的问题(法语和西班牙语名称),我只需在
app/Config/database.php
配置文件中的
$default
连接中添加以下内容:

'encoding' => 'utf8'

可能您需要
utf8
连接或您提到的
iso-8859-1

当我尝试使用此字符时,字符是可以的,但我得到以下错误:警告:htmlspecialchars()[:字符集'iso-8859-2'不受支持,假设第192行的/…/lib/Cake/basics.php中的iso-8859-1,您可能希望尝试转换为cp1252而不是iso-8859-2,因为这是htmlspecialchars支持的编码(请参阅)。但是,我不知道win1250映射到cp1252的效果如何。什么都没有发生。仍然存在一些问题。当我想将数据读/写到数据库时,是否有任何函数可以帮助我以某种方式转换编码。
'encoding' => 'utf8'