1

XMLHttpRequestMYSQLデータベースにいくつかの行を挿入するためにを使用しています。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");

しかし、何らかの理由で、リクエストがまったく機能しません。

XMLHttpRequestから開始されていない他のすべてのクエリが混乱していないため、データベース定義の問題ではないことを私は知っています。

ヘブライ文字を正しく挿入するにはどうすればよいですか?ありがとう。

4

1 に答える 1

2

PHP が文字列を別の文字エンコーディング (ISO-8859-1 など) として渡していると MySQL が認識している可能性があります。その場合は、データベースにデータを書き込む前に、このクエリを MySQL に送信することでこれを修正できます。

SET NAMES=UTF8;
于 2012-05-14T15:19:02.743 に答える