更新:我的Mysql版本现在是5.7.23,我已经按照上面链接的所有说明进行操作。现在,所有数据库,所有表和列的字符集均为utf8mb4
。
在每个查询之前:
mysqli_set_charset($link, 'utf8mb4')
;
尽管如此,我仍然无法在浏览器中显示西班牙字符。
我的问题:
我知道这是Stackoverflow上的一个非常普遍的问题,但是我已经在寻找解决方案,我已经实施了解决该问题的所有策略,但没有成功。
我正在开发一个西班牙语网站,在localhost上一切正常,但是当我上传该网站时,例如看不到ñ等西班牙语字符。
我看到了以下问号而不是它们: �
我精确地说:
<head>
之后有<meta charset="UTF-8">
header('Content-Type: text/html; charset=utf-8')
,然后再发送其他标头。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) ;