如何在PHP 5.6中将字符集正确设置为UTF-8?

时间:2016-03-29 15:29:54

标签: php mysql utf-8 character-encoding

我为PHP旧版本做过:

<?php require_once('Connections/SQLConn.php');
mysql_query("SET NAMES 'utf8'"); ?>

现在我想更新这个过时的代码以便更新到PHP 5.6,我尝试使用htmlentities(),htmlspecialchars(),通过mysqli进行更改并且它不起作用。

example of typical black rhombus

我的本​​地数据库由latin1_swedish_ci整理,因为我的网站已经准备好使用西班牙语和英语,并且我的数据库的每个表都由utf8_spanish_ci进行整理(如果有必要,你可以知道)。

1 个答案:

答案 0 :(得分:0)

使用mysql_* API。切换到PDO或mysqli_*。在后一个语句中是$conn->charset('utf8');

黑色菱形通常由

引起
  • 客户端中文本的编码是latin1
  • 连接(如所讨论的)是latin1
  • 表格列可以是latin1或utf8(具有相同的效果)
  • HTML代码显示<meta ... charset=UTF-8>

你需要一直使用latin1,在这种情况下,meta中的charset需要ISO-8859-1。或者一直走到utf8。

西班牙语作品同样&#39;好像在utf8中的latin1。但如果你去西欧东部,latin1就不够了。

由于你一直在搞乱,请检查表格中的内容。如果ñ,则F1应为十六进制CHARACTER SET latin1,如果为utf8,则为C3B1。如果您在latin1表中看到C3B1,则还有其他问题。