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

CODEPAGE = 65001 

MySql version: 5.0.92-enterprise-gpl-log 

ADO.Version = 2.8 

當我performe Unicode字符的搜索,像這樣:ASP CODEPAGE 65001和MySQL 5 UTF-8

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

哪裏utf8是VARCHAR覈對utf8_unicode_ci

MySQL的返回0行。

刪除CODEPAGE=65001 MySql返回1行。但是Server.HTMLEncode現在返回奇怪的符號和utf8字符,現在長度> 1.不是什麼大不了的。

編輯:

好了,現在我很困惑:這個查詢的工作:

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

顯然這是不好的,它忽略指數法。

任何幫助?

回答

1

不要在ASP腳本中包含字符超出ASCII範圍的字符串文字。腳本引擎解析器不會執行多字節字符集。使用ChrW和其他字符的Unicode值。