gpt4 book ai didi

PHP/MySQL 编码问题。 ★代替某些字符

转载 作者:行者123 更新时间:2023-11-29 01:08:58 26 4
gpt4 key购买 nike

我在使用 php 将某些字符输入我的 mysql 数据库时遇到了一些问题。我正在做的是将用户输入的文本提交到数据库。我不知道我需要更改什么以允许将任何类型的字符放入数据库并按预期通过 php 打印出来。

我的 MySQL 排序规则是:latin1_swedish_ci

就在我将文本从表单发送到数据库之前,我对数据使用了 mysql_real_escape_string()。

下面的例子

这段文字:

�People are just as happy as they make up their minds to be.�
� Abraham Lincoln

假设看起来像这样:

“People are just as happy as they make up their minds to be.”
― Abraham Lincoln

最佳答案

如其他人所述,如果要支持“特殊”字符,则需要从头到尾转换为 UTF8。这意味着您的网页、PHP、mysql 连接和 mysql 表。该网页相当简单,只需使用UTF8 的meta 标记即可。理想情况下,您的 header 也会显示 UTF8。

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

将您的 PHP 设置为使用 UTF8。事情可能无论如何都会起作用,但这是一个很好的措施:

mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');

对于mysql,你想将你的表转换成UTF8,不需要导出/导入。

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8

您可以而且应该将 mysql 配置为默认的 utf8。但您也可以运行查询:

 SET NAMES UTF8

作为建立连接后的第一个查询,它会将您的数据库连接“转换”为 UTF8。

这应该可以解决您所有的字符显示问题。

关于PHP/MySQL 编码问题。 ★代替某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984841/

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