php – 正确显示西班牙语字符

我得到了可爱的 盒子,应该显示西班牙语字符. (即:ñ,á等).我已经确定我的meta http-equiv设置为utf-8:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我还确保页面标题也设置为utf-8:

header('Content-type: text/html; charset=UTF-8');

到目前为止,这是我的代码的开始阶段:

<?php
    setlocale(LC_ALL, 'es_MX');
    $datetime = strtotime($event['datetime']);
    $date = date("M j, Y", $datetime);
    $day = strftime("%A", $datetime);
    $time = date("g:i", $datetime);
?>
    <a href="/<?= $event['request'] ?>.html"><?= $day ?> <?= $time ?></a> 

上面的代码在where语句中.我已经读过在数据库中切换排序规则也可能是一个因素,但我已经将它设置为UTF-8 General ci.另外,该列中唯一的东西是DateTime,无论如何都是数字,无论如何都无法进行整理.

结果:s bado8:00

任何帮助一如既往地非常感谢.

在PHP / MySQL / UTF-8中要考虑的事情

>数据库表和文本列应设置为UTF-8
> HTML页面Content-Type应设置为UTF-8

< meta http-equiv =“Content-Type”content =“text / html; charset = utf-8”/>
> PHP应发送一个标头,通知浏览器期望UTF-8

header(‘Content-Type:text / html; charset = utf-8’);
> PHP-MySQL连接应设置为UTF-8

mysqli_query(“SET CHARACTER_SET_CLIENT =’utf8’”,$conn);

mysqli_query(“SET CHARACTER_SET_RESULTS =’utf8’”,$conn);

mysqli_query(“SET CHARACTER_SET_CONNECTION =’utf8’”,$conn);
> PHP ini有default_charset设置,它应该是utf-8
如果您无权访问它,请使用ini_set(‘default_charset’,’utf-8′);

翻译自:https://stackoverflow.com/questions/14649547/spanish-characters-not-displaying-correctly

转载注明原文:php – 正确显示西班牙语字符