2012-03-14 3 views
0
charset = UTF-8 

CODEPAGE = 65001 

MySql version: 5.0.92-enterprise-gpl-log 

ADO.Version = 2.8 

私はこのように、Unicode文字で検索をperforme:utf8はVARCHAR照合utf8_unicode_ciASP CODEPAGE 65001とMySQL 5 UTF-8

MySQLが0行を返すです

INSERT INTO table (utf8) VALUE ('♂') 
SELECT utf8 FROM table WHERE utf8 = '♂' // \u2642 

削除するCODEPAGE=65001 MySqlは1行を返します。しかし、Server.HTMLEncodeは奇妙なシンボルを返し、utf8文字の長さは1になりました。大したことではありません。

編集:

[OK]を、今私は混乱している:このクエリは動作します:

SELECT utf8 FROM table WHERE CONVERT(utf8 USING latin1) COLLATE latin1_general_ci = '♂' 

は明らかにこれはINDEXsを無視し、悪いです。

助けが必要ですか?

答えて

1

ASPスクリプトに、ASCII範囲外の文字を含む文字列リテラルを含めないでください。スクリプトエンジンパーサーは、マルチバイト文字セットを実行しません。他の文字にはUnicode値を使用してChrWを使用してください。