我在表格中有一个文本字段,如下所示:
全新的平面图–这座“ Sandpiper”双人别墅公寓设有2个 卧室,2.5个浴室,书房和8英寸的室内门。
当我在网页上显示这些字符时,我会得到非常奇怪的字符,其中的“和”是这样出现的:
我可以像这样清除双引号:
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '“', '"');
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '”', '"');
原因错误:
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '’', ''');
错误:[Err] 1064-您的SQL语法有错误;检查 对应于您的MariaDB服务器版本的手册 在第1行的'''')'附近使用的语法
我认为问题是连续三遍使用单引号'''
如何清除单引号?
答案 0 :(得分:1)
要解决错误1064,您应该在反引号后面加上反斜杠:
[HttpGet]
public async Task<IActionResult> Challenge(string provider, string returnUrl, string user)
{
if (string.IsNullOrEmpty(returnUrl)) returnUrl = "~/";
if (Url.IsLocalUrl(returnUrl) == false && _interaction.IsValidReturnUrl(returnUrl) == false)
{
throw new Exception("invalid return URL");
}
if (AccountOptions.WindowsAuthenticationSchemeName == provider)
{
return await ProcessWindowsLoginAsync(returnUrl);
}
else
{
var props = new AuthenticationProperties
{
RedirectUri = Url.Action(nameof(Callback)),
Items =
{
{ "returnUrl", returnUrl },
{ "scheme", provider },
{ "login_hint", user }
}
};
return Challenge(props, provider);
}
}
要解决字符未显示在网页上的问题,您应该正确管理编码,这基本上需要三件事:
A。理想情况下,您的表应该具有utf8编码。
B。在网页后面的代码中,您应该告诉数据库您想要utf8编码。例如在PHP中使用mysqli:
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '’', '\'');
C。您应该在页面的html标头中指定utf8编码:
$mysqli->set_charset("utf8");
答案 1 :(得分:0)