1

我正在使用一个XMLHttpRequest用于将一些行插入到 MYSQL 数据库中。我定义了相关的表列以接受 UTF-8 字符 ( Collation: 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')

如果我从列中查询此phpMyAdmineventDescription,则可以毫无问题地获得所需的值。但是,当从 启动查询时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");

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

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

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

4

1 回答 1

2

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

SET NAMES=UTF8;
于 2012-05-14T15:19:02.743 回答