我将以下字符插入到我的数据库中:汉字/汉字
这是插入字符的页面上的元标记:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
我更改了表格中保存字符为 utf8_unicode_ci
的所有列外国人角色在DB中显示如下:汉 - /æ¼¢ -
当我使用sql语句在页面上显示这些外来字符时,它们会再次正确显示为:汉字/汉字
我猜我的数据库中有一些设置不正确,因为它正确存储,但无法正确显示。
如何才能使外语字符在我的数据库中正确显示?
编辑:这是我的插页:
$sql = 'INSERT INTO orders (foreign_characters)
VALUES (?)';
$stmt = $conn->stmt_init();
$stmt->bind_param('s', $_SESSION['foreign_characters']);
$inserted = $stmt->execute();
答案 0 :(得分:6)
与数据库的连接是否也是UTF-8编码的?
尝试一下:在连接到mysql数据库之后,运行以下查询。
SET NAMES utf8;
这应该可以解决问题(参见MySQL doc)。 (是的,每次连接都必须这样做。)
BTW:不要只依赖<meta>
- 标签,发送相应的HTTP标头。