2013-09-24 2 views
0

У меня есть заявление обновления с китайскими иероглифами в данных, как так ...китайских иероглифов не обновляются в поле SQL

UPDATE table SET col1 = N'点心' WHERE id = 123 

Я объявляя тип контента как UTF-8. По некоторым причинам, поле обновляется с этим:

自然地解é 

Поле является NVARCHAR в MSSQL. Есть идеи?

** EDIT

Я использую AJAX вызова JQuery, чтобы написать данные:

jQuery.ajax({ 
    type: "POST", 
    url: "ajax/call.asp", 
    data: { value: value }, 
    contentType:"application/x-www-form-urlencoded;charset=UTF-8", 
    dataType: "json", 
    success: function(msg){} 
}); 

** EDIT

Page 1 является:

<script> 
var value = "<%=value%>";              
jQuery.ajax({ 
    type: "POST", 
    url: "ajax/call.asp", 
    data: { value: value }, 
    contentType:"application/x-www-form-urlencoded;charset=UTF-8", 
    dataType: "json", 
    success : function(responseData) {} 
}); 
</script> 

Page 2 это:

value = Request("value") 

IF value <> "" THEN 
    SQL = "UPDATE table SET col1 = N'"& value &"' WHERE ID = '123'" 
    objconn.execute(SQL) 
END IF 
+1

«объявление типа контента как UTF-8» - um - что это такое? В SQL Server нет понятия/параметра, в котором UTF-8 является возможным параметром, поэтому здесь есть что-то еще, кроме * просто * SQL Server, и этого фрагмента недостаточно, чтобы мы могли догадаться, что это за другие вещи. –

+0

Извините, объявлен тип содержимого в сообщении jQuery страницы. Редактирование ... –

+1

Как сказал @Damien_The_Unbeliever, ваша проблема должна быть где-то в другом месте, поскольку это, похоже, работает очень хорошо: http://sqlfiddle.com/#!3/917c8/3 – Lamak

ответ

0

Выяснил это. Мой текстовый редактор не сохранял файл ajax в качестве UOM UTF-8. Как только он спас этот путь, он сработал.

Смежные вопросы