HttpFile :: SendRequest和字符编码

时间:2016-04-09 10:26:36

标签: c++ mysql character-encoding mfc http-post

我想使用CHttpFile :: SendRequest提交表单并将这些数据保存到mysql数据库。 DB表排序规则中的字段也设置为utf8mb4_unicode_ci。

除了非英语字符的字符编码外,它工作正常。我的应用程序在MFC下,“字符集”没有设置,这意味着ASCII。我试图将字符转换为unicode但没有成功。

CString     strFormData;
strFormData = _T(SUBMIT_FORM) + _T(strSubmitValue) +  _T(USERNAME_FIELD) + _T(m_strUsername) + _T(RESTORE_EMAIL_FIELD) + _T(m_strRestoreEmail) + _T(CAPTCHA_FIELD);

LPWSTR lpUnicodeFormData = A2W( strFormData );    
strHeaders = _T("Content-Type: application/x-www-form-urlencoded;charset=UTF-8\r\n");        
result = pFile->SendRequest(strHeaders, (LPVOID) (LPCTSTR) lpUnicodeFormData, wcslen(lpUnicodeFormData));

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在存在html表单的PHP文件中,我添加了代码

mysqli_set_charset($con, "utf8");

这解决了这个问题。

谢谢大家。