1

我使用 PHP 创建 FAQ 表单,但它不显示 UTF-8 虽然 SQL 数据 utf-8_general_ci 索引图像错误字体 utf-8 sql错误字体utf-8

我有 2 个文件:faq.php 和 index.php

4

4 回答 4

3

恕我直言,有几个地方可能会导致问题:

  • 使用表单对页面进行编码

    <meta http-equiv="content-type" content=" text/html; charset=utf-8" /> 
    
  • 表单本身的表单编码

    <form accept-charset="utf-8"> 
    
  • SQL连接的编码

    charset utf8;
    
于 2013-06-16T14:40:11.480 回答
2

将 HTML 标记添加<meta charset="utf-8" />head每个页面的标记。

于 2013-06-16T14:37:39.587 回答
2

打开PDO连接时,请确保客户端连接使用 UTF-8:

$db = new PDO("mysql:host=localhost;dbname=dbname",
              'username', 'password',
              array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

这也可以直接设置为,my.cnf因此您不必为每个连接单独设置它:

[client]
default-character-set=utf8
于 2013-06-16T15:01:05.230 回答
2

您必须确保您的页面也是 utf8,即它必须包含<meta charset="utf-8">标签。

您还应该检查您的数据库并确保数据存储正确。如果它来自非 utf8 源,如果您只是复制和粘贴,它可能会损坏。我通常做的是在上传到数据库之前使用一些文本编辑器将文本编码更改为 utf8。

于 2013-06-16T14:42:36.037 回答