【发布时间】:2013-10-27 01:47:29
【问题描述】:
我有一个瑞典网站,每当我在代码中写 åäö 时,它都会在网站上显示为 åäö,但是当我在数据库中输入 åäö 时(例如“描述”列中的文本),它会输出一个网站上带有问号的正方形。
我试过了
<meta http-equiv="content-type" content="text/html" charset="UTF8" />
和
<?php header("Content-type: text/html; charset=utf-8");?>
和
SET NAMES 'utf8'
还有所有可能的字符集(感觉像),但它不起作用。
MySQL 连接排序规则是 utf8_bin,表列的排序规则是 utf8_swedish_ci。 帮忙?
编辑: 如果我编辑 php.ini 文件以具有
default_charset = "utf8_unicode_ci"
并将元数据更改为
<meta http-equiv="content-type" content="text/html" charset="UTF-8_general_ci" />
åäö 显示正确,但文件中代码中的 åäö 显示为 ä。
EDIT2:嗯,mysqli_set_charset($connection, 'utf8');解决了我的问题。
【问题讨论】:
-
也许您正在使用
strtolower()php 函数进行保存。它确实会损坏日耳曼变音单词。