我将网站上传到新服务器。 它可以完美地在我家里的测试服务器上运行,没有其他设置可以将数据库逐字复制。 但是在该网站上,韩语中的任何内容都显示为?????? 数据库已正确存储它,并且页面都具有<meta charset="UTF-8">我无法弄清丢失的内容。

编辑:当我使用phpMyADMIN时,文本在数据库中显示正常

===============>>#1 票数:0

此问题很可能是家庭测试服务器和新远程服务器之间的数据库排序规则设置不同。 这意味着在正确传输数据库的同时,从数据库中吐出数据的方式是另一回事。

数据库的数据整理给您带来了什么问题? 默认情况下,大多数MySQL为新创建的数据库安装set latin1_swedish_ci而不是utf8_general_ci

更改数据库的排序规则,然后重试。

ALTER DATABASE [name of your database] CHARACTER SET utf8;

如果这是一个特定的表,则排序规则可以更改为:

ALTER TABLE [name of your table] CONVERT TO CHARACTER SET utf8;

如果它是表中的特定列:

ALTER TABLE [name of your table] MODIFY [name of your column] [other settings] CHARACTER SET utf8 COLLATE utf8_general_ci;

或者,您可以导出当前数据库,使用此命令创建新数据库并重新导入数据:

CREATE DATABASE [name of your database] CHARACTER SET utf8 COLLATE utf8_general_ci;

如果要永久更改机器上的MySQL安装,并给您带来问题,请编辑my.cnf 下面将把整个链设置为UTF-8:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

编辑:原始海报指出,连接和数据库都是UTF8干净的。 但是,如何尝试编辑Apache默认字符集呢? 转到此处并打开Apache的字符集文件,如下所示:

须藤纳米/etc/apache2/conf.d/charset

并取消注释如下所示的行:

#AddDefaultCharset UTF-8

所以看起来像这样:

AddDefaultCharset UTF-8

并重新启动Apache。 以我的拙见,这不是一个长期设置的好主意,但是,如果t解决了该问题,则表明您的代码库中可以更改某些内容以影响相同的结果,而不必强制Apache强制使用UTF8。

===============>>#2 票数:0 已采纳

在PDO(php api)中,您需要设置字符集$conn->exec('SET CHARACTER SET utf8');

PHP示例:

<?php
//한국어/조선말

header('Content-Type: text/html; charset=utf8');

$username = 'user';
$password = 'password';
$host = 'domain';
$db = 'dbtest';

try {
    $conn = new PDO('mysql:host=' . $host . ';dbname=' . $db . ';charset=utf-8', $username, $password);
    $conn->exec('SET CHARACTER SET utf8');//This solve the problem
    $stmte = $conn->prepare('SELECT id, text FROM test LIMIT 10');
    $exec = $stmte->execute();

    if ($exec) {
        while($reg = $stmte->fetch(PDO::FETCH_OBJ)){
            echo 'id: ' . $reg->id . '<br />';
            echo 'text: ' . $reg->text . '<br /><hr />';
        }
    } else {
        echo 'Error SELECT';
    }
} catch(PDOException $e){
    echo 'PDOException: ', $e->getMessage();
}
?>

MySQL的例子:

CREATE DATABASE `dbtest` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `dbtest`;

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` varchar(300) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

INSERT INTO `test` (`id`, `text`) VALUES (1, '한국어/조선말');

在服务器中使用phpmyadmin验证服务器上的数据库是否为“ utf8”,请参见: phpmyadmin 3.5

数据库中必须有其他内容。

如果您的数据库正确(使用utf8检查),则问题出在某些PHP文件中。

要解决此问题,您应该保存所有php文件(主要文件和包含文件)

使用notepad ++将html文件(或php文件)保存在“不带繁荣的utf8”中,请参见:

保存在utf8中,无需吊杆

添加您的PHP文件(在顶级文件中):

 <?php header('Content-Type: text/html; charset=utf8'); ?> 

包含的文件也应保存在utf8-without-boom中 ,例如:

 <?php include('YOUR FILE INCLUDED.php');// Save "YOUR FILE INCLUDED.php" in UTF8-without-boom ?> 

也许它的某些页面在ANSI中(例如“ form.php”)。

注意:所有PHP文件都必须为UTF8-无横杠格式

===============>>#3 票数:0

尝试将lang属性添加到html标记中

<html lang="ko">

  ask by chris3spice translate from so

未解决问题?本站智能推荐:

3回复

如何在HTML网站上将MySQL数据显示为清单?

这不是一个非常复杂的问题,但是过去几天我一直受困,似乎无法解决。 我有一个名为“ major_degrees”的数据库,我想从该数据库中名为“ majors”的表中获取所有专业,然后使用PHP和HTML将其作为清单显示在我的网站上。 我相信错误是在我的while循环中的某处..它正在将数
4回复

在html测验网站中一次显示一个问题

我已经完成了一个测验网站,其中显示了一个问题和带有单选按钮的4个选项。 从数据库中提取问题。 但所有问题一次都出现。 我想在用户单击选项时一次显示一个问题。 单击选项后不久,当前问题应消失并显示下一个问题。 我已经尝试了许多使用javascript的方法,但几乎没有任何效果。 谁能帮
6回复

在网站上显示问题30秒

整理一个琐事网站,使参与者仅30秒即可看到提示并进行回答。 提示可以是书面问题(可以是图像或文字,更难作弊)或地点图片(例如,显示雕像图片,参与者必须猜测其位置)。 我想要做的是能够让某人通过按链接来表明他们已经准备好,立即显示提示,并在30秒过后使其消失。 如果它是图像,我认为它将需
1回复

显示更新,例如Facebook,instagram和其他社交网站

我正在一个项目中,用户可以共享图像,对图像进行喜欢和评论,因此所有数据都将保存在数据库中,我想显示用户名,图像,不。 喜欢,不。 在主页上的评论。 我使用了jQuery的append标签并将其放在jsp while循环中,以将listitems附加到无序列表中。 因此,当我获取“否”时,
1回复

在本地显示动态网站的数据库

作为实习的一部分,我尝试更改公司的动态网站。 为此,我安装了Wamp,然后在本地迁移,该公司的网站带有filezilla,并在hebergeur网站中导出了三个数据库。 我将这些数据库导入phpMyadmin中。 当我尝试在本地工作时,会显示无法解释的错误(请参见下图)。 [链接
1回复

网站如何从右到左显示从右到左读取的字母的文本?

是否所有网站,无论字母如何,都从左到右显示文本?如果没有,您如何保存( form) ,存储( MySQL )然后显示从右至左读取的( HTML )文本?
1回复

mysql数据库中的℃无法显示在网站上

这个问题已经在这里有了答案: UTF-8一直通过 15个答案 我有一个Mysql数据库,其数据如下: 温度计-10℃-110℃ 我从其他网站复制了学位符号。 我确实在html上声明了一些示例: 但是当我使用php调用此数据到我的网站时,它不
3回复

允许用户发布数据并将其显示在我的网站中

我已经用html,javascript和jsp开发了一些网页。 我还开发了一个基于javascript的简单编辑器。 任何人都可以告诉我如何在单击“提交”按钮时使用户在编辑器中给出的确切内容可以在网页中使用。 服务器端编码应该执行吗?如何执行? 用户输入的内容是否应该存储在数
1回复

网站用于显示和过滤MySQL数据库中的数据

我需要创建一个网站来显示同一服务器上MySQL数据库中的某些信息,但不知道从哪里开始。 我有:MySQL数据库。 该表包含一个表格,其中包含有关在特定日期添加的项目的信息。 信息包括添加项目的标题,位置和日期。 我需要:创建一个网站前端,使我可以按特定日期过滤并显示在该日期检查过
3回复

如何在PHP网站中显示MySQL数据库数据?

我所拥有的: 我当前的观点 我想要什么: 同一数据库中彼此相邻的6个项目 不幸的是,我以前的问题没有得到我想要的回答,所以这是另一个问题。 编码: 感谢您的帮助。