提问人:farbenrausch 提问时间:10/23/2023 最后编辑:farbenrausch 更新时间:10/24/2023 访问量:23
Ajax jquery $.get() 请求更改字符编码并将 žČć 等字符显示为符号或问号
Ajax jquery $.get() request changes character encoding and displays characters like žČć as symbold or questionsmarks
问:
我在 php 中编写了一个 CRUD 应用程序,然后切换到 ajax 以从数据库中请求数据。
当我使用普通的 php 显示数据库中的数据时,我会得到所有字符以应有的方式显示,但是当我通过 ajax 获取数据时,我会得到符号。在我使用纯 php 显示数据的同一页面上,在使用 ajax 显示数据的同一页面上,我得到了 2 个不同版本的数据。
我在文件中设置了以下编码:
- 函数 .js 文件中的 ajax 请求包含
type: "GET", contentType: "application/x-www-form-urlencoded; charset=utf-8", dataType:"html"
- 从中调用 AJAX 请求的 PHP 文件包含
header('Content-Type: text/html; charset=UTF-8');
- AJAX 请求调用的 PHP 文件包含
header('Content-Type: text/html; charset=UTF-8');
- 我的 HTML 文件是在 meta 中设置的
<meta charset="utf-8">
- 实际生成代码的行已设置:
echo utf8_encode($this->data);
- 数据库列类型为“utf8_general_ci”
- MySQLI数据库连接是通过以下方式建立的
$connection = new mysqli("localhost","---","---", "--"); $connection->set_charset("utf8_general_ci");
它与浏览器或操作系统无关,我在具有不同操作系统的其他计算机上仔细检查了这一点。
如何在不扭曲编码的情况下通过 ajax 正确捕获数据?
答: 暂无答案
评论
utf8_encode