gpt4 book ai didi

php - XMLHttpRequest 中的 UTF-8 字符已损坏

转载 作者:行者123 更新时间:2023-11-29 07:00:15 25 4
gpt4 key购买 nike

我正在使用 XMLHttpRequest 将一些行插入到 MYSQL 数据库中。我定义了相关的表列以接受 UTF-8 字符(Collat​​ion: utf8_general_ci)。

从请求中发起的查询是:

INSERT INTO e4s_event_list (producerID, eventID, eventName, eventDescription, eventVenue, eventDate) 
VALUES('2', 'f49c104b-6193-47b7-b196-ca914e5238c4', 'בכורה מאת שרון אייל וטאבולה ראסה מאת אוהד נהרין', '', 'Conversion Venue - 0', '2012-06-04T20:30:00')

如果我从 phpMyAdmin 查询此内容,eventDescription 列会毫无问题地获得所需的值。但是当从 XMLHttpRequest 发起查询时,eventDescription 列会得到这个值:

×'כורה מ×ת שרון ×ייל ו×∼××'ולה。 .

我当前的标题是:

XMLHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLHttpRequest.setRequestHeader("Content-length", params.length);
XMLHttpRequest.setRequestHeader("Connection", "close");

我尝试将 Content-Type 更改为:

XMLHttpRequest.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");

但是,出于某种原因,该请求根本不起作用。

我知道这不是数据库定义问题,因为所有其他不是从 XMLHttpRequest 发起的查询都没有被搞砸了。

如何正确插入希伯来字符?谢谢。

最佳答案

MySQL 可能认为 PHP 将字符串作为另一种字符编码(例如 ISO-8859-1)传递。如果是这种情况,您可以通过在将数据写入数据库之前将此查询发送到 MySQL 来解决此问题:

SET NAMES=UTF8;

关于php - XMLHttpRequest 中的 UTF-8 字符已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10586057/

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