gpt4 book ai didi

mysql - PHP/MySQL 中的字符集问题

转载 作者:行者123 更新时间:2023-11-30 00:38:40 25 4
gpt4 key购买 nike

我在 PHP/MySQL 中遇到一些特殊字符的问题(我不知道是哪一个)。然后,我使用 php 将数据存储在数据库中。我确保在存储数据之前添加此代码:

  header('Content-type:text/html; charset=utf-8');
$link=mysqli_connect("host","user","","db") or die(mysqli_error($link));
mysqli_query($link,"SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8';SET NAMES utf8");

我还确保 Apache 使用正确的字符集:

AddDefaultCharset utf-8

此外,我还尝试在每个 html 页面上添加 meta 标记:

<meta http-equiv="content-type" content="text/html" charset="UTF-8">

此外,我以 UTF-8 格式保存了所有 phphtml 文件。我注意到,如果我在页面中写入类似 ò 的字符并显示该页面,它就会正确显示。如果我从包含 ò 的数据库中获取字符串查询,它不会正确显示,但如果我将代码更改为:

header('Content-type:text/html; charset=iso-8859-1');

从数据库检索的查询正确显示,正常写入则不然。那么,问题出在mysql字符集上吗?如果我按照之前的说明设置怎么会这样呢?

最佳答案

尝试将存储此日期的列也更改为 utf8

这里有一些您可以使用的代码。

更改字符集/排序规则(数据库):

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8;

更改字符集/排序规则():

ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8;

更改字符集/排序规则():

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8;

关于mysql - PHP/MySQL 中的字符集问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967213/

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