西班牙语网站中的字符编码不正确

时间:2018-08-29 04:45:16

标签: php html encoding utf-8 character-encoding

更新:我的Mysql版本现在是5.7.23,我已经按照上面链接的所有说明进行操作。现在,所有数据库,所有表和列的字符集均为utf8mb4

在每个查询之前:

mysqli_set_charset($link, 'utf8mb4');

尽管如此,我仍然无法在浏览器中显示西班牙字符。

我的问题:

我知道这是Stackoverflow上的一个非常普遍的问题,但是我已经在寻找解决方案,我已经实施了解决该问题的所有策略,但没有成功。

我正在开发一个西班牙语网站,在localhost上一切正常,但是当我上传该网站时,例如看不到ñ等西班牙语字符。 我看到了以下问号而不是它们:

我精确地说:

  • <head>之后有<meta charset="UTF-8">
  • 在所有PHP文件中,代码的第一行中包含:header('Content-Type: text/html; charset=utf-8'),然后再发送其他标头。
  • 在每个Mysql查询之前,有mysqli_set_charset( $conn,'UTF8')
  • 所有数据库,表以及列均设置为utf8
  • php.ini中有default_charset = "utf-8"

    更新:

问题似乎与数据库有关,如果我将以下文件在线放置,我可以看到char ñ没问题,但是如果同一个城市来自数据库,我会看到{ {1}}。

有关我的数据库的更多信息:

<html>
 <head>
  <meta charset="UTF-8">
</head> 
 <body>
   A Coruña
 </body>
</html>

正如我所写的,所有表和列都设置为mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA -> WHERE schema_name = "mydb"; +----------------------------+ | default_character_set_name | +----------------------------+ | utf8 | +----------------------------+ 。 我正在用以下代码查询数据库:

utf8

无论如何,在出现编码问题的页面上执行Curl,这些是标头:

$chandle = @mysqli_connect($dbhost, $dbuser, $dbpass,$dbname) or die("Connection Failure to Database"); 
mysqli_set_charset( $chandle,'UTF8');

$result=@mysqli_query($chandle,$q) ; 

0 个答案:

没有答案