gpt4 book ai didi

html - 网站显示的 ?'s 而不是韩文

转载 作者:行者123 更新时间:2023-11-30 23:02:57 25 4
gpt4 key购买 nike

我将我的网站上传到新服务器。它在我家里的测试服务器上完美运行,没有不同的设置,数据库是逐字逐句复制的。但在网站上,任何韩语内容都显示为 ?????? .数据库正确存储它并且页面都有<meta charset="UTF-8">我不知道我错过了什么。

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

最佳答案

在 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 without boom” ,参见:

save in utf8 without boom

添加您的 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”)。

Note: All PHP files must be in UTF8-without-boom format

关于html - 网站显示的 ?'s 而不是韩文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23184820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com