gpt4 book ai didi

php - 为什么使用相同的数据会得到不同的结果?

转载 作者:行者123 更新时间:2023-11-30 01:29:42 24 4
gpt4 key购买 nike

在将我的网站迁移到新服务器时,发现了以下问题:来自 mysql 的“奇怪”字符(ê、ç、ã 等)渲染错误。

例如:

MySQL:Galo vai 最终,após cobranças de pånaltis。

旧服务器(apache 2.2/php 5.3):Galo vai 进入决赛, após cobranças de pennaltis。 (正确)

新服务器(apache 2.4/php 5.4):Galo vai 决赛,após cobranças de pånaltis。 (错误)

我相信 apache 或 php 导致了这个问题,但我没有在任何地方找到有关它的文档。

有人可以帮我找出这个错误的原因吗?

编辑

这是渲染此代码的代码(请注意,它在两个服务器中都是相同的):

Controller :

//Noticias
$q = Doctrine_Query::create()
->select("id,titulo,thumb,conteudo")
->from('noticia')
->limit(10)
->where("data <= '$today'")
->andWhere("status = 1")
->andWhere("categoria_id = 1")
->orderby('data DESC');
$res = $q->fetchArray();
foreach($res as $key => $value){
$res[$key]['titulo'] = stripslashes($res[$key]['titulo']);
$res[$key]['conteudo'] = strip_tags($res[$key]['conteudo']);
$res[$key]['conteudo'] = stripslashes($res[$key]['conteudo']);
$res[$key]['conteudo'] = substr($res[$key]['conteudo'],0,150) . '...';
}
$smarty -> assign('noticias',$res);

查看:

<ul class="homelist">
{foreach item=noticia from=$noticias name=news}
<li> <a href="noticia/{$noticia.id}/{$noticia.titulo|slug}/"><img src="assets/images/noticias/{$noticia.thumb}" alt="" /></a> <a class="title" href="noticia/{$noticia.id}/{$noticia.titulo|slug}/">{$noticia.titulo}</a>
<p>{$noticia.conteudo}</p>
<a class="more" href="noticia/{$noticia.id}/{$noticia.titulo|slug}/">more</a>
</li>
{/foreach}
<li><p align="center"><a href="/noticias/1">Veja mais</a></p> </li>
</ul>

最佳答案

您必须手动将编码更改为“ISO-8859-1”。在5.4之前,默认编码是“UTF-8”。使用此代码:

htmlspecialchars($string, ENT_COMPAT,'ISO-8859-1', true)

关于php - 为什么使用相同的数据会得到不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615304/

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