Avatar ·

全程UTF-8:如何配置PHP、MySQL和Web服务器以正确处理西里尔字母和Unicode

大家好!我是一名初学 PHP 开发者,编码问题让我很头疼。网站是用 PHP 写的,数据库是 MySQL,服务器是 Apache。一切看似正常,但只要用户在表单中输入俄语字母,噩梦就开始了:数据库里存的是乱码,比如「Привет」,而页面上显示时则出现问号或空白方块。 我试过在 HTML 头部添加 ``——没用。试过在 PHP 中写 `header('Content-Type: text/html; charset=utf-8');`——也不是万能药。MySQL 中表使用的是 `utf8_general_ci`,但数据仍然损坏。以下是我的代码示例: ```php query("INSERT INTO users (name) VALUES ('$name')"); // 输出 $result = $db->query("SELECT name FROM users"); while ($row = $result->fetch_assoc()) { echo $row['name']; } ?>