Mysql 如何找出某个字符串在数据库中编码的字符?
最近我导出了我的Mysql 如何找出某个字符串在数据库中编码的字符?,mysql,utf-8,Mysql,Utf 8,最近我导出了我的mySQL数据库的一部分,并注意到文本中有几个奇怪的字符。例如,字符串™经常出现 当试图找出这意味着什么时,我发现了stackoverflow问题:。从这个问题中,我现在知道字符串™表示报价 但是我怎样才能更普遍地了解字符串代表什么呢?例如,字母也经常出现在我的数据库中,实际上在某个页面上给我带来了问题,为了解决这个问题,我想知道这个字符的含义 我已经看过几个显示字符编码的表,但还没有弄清楚如何使用这些表来了解为什么€™的意思是,,或者对我来说更重要的是,代表什么。如果有人能给我
mySQL
数据库的一部分,并注意到文本中有几个奇怪的字符。例如,字符串™代码>经常出现
当试图找出这意味着什么时,我发现了stackoverflow问题:。从这个问题中,我现在知道字符串™代码>表示报价
但是我怎样才能更普遍地了解字符串代表什么呢?例如,字母也经常出现在我的数据库中,实际上在某个页面上给我带来了问题,为了解决这个问题,我想知道这个字符的含义
我已经看过几个显示字符编码的表,但还没有弄清楚如何使用这些表来了解为什么€™
的意思是,
,或者对我来说更重要的是,代表什么。如果有人能给我指出正确的方向,我将不胜感激。拉丁语编码™代码>是(十六进制)E28099
“
的utf8编码是E28099
但是您粘贴了C3A2E282ACE284A2
,这是该撇号的“双重编码”
显然发生的是,您在客户机中有”
;客户端正在生成utf8编码。但是您到MySQL的连接参数是“latin1”。因此,您的INSERT
语句尽职尽责地将其视为3个拉丁字符e28099
(视觉上)™代码>),并将每个转换为utf8、十六进制C3A2 E282AC E284A2
阅读中的“双重编码”
同时,浏览器倾向于原谅双重编码,否则它可能会显示出
拉丁1字符每1字节(2个十六进制数字)。utf8/utf8mb4字符为1到4字节;您的练习中出现了一些2字节和3字节编码
至于。。。去看看那边的第二张桌子。请注意,前两列有许多以开头的内容。在拉丁语1中,即十六进制C2
。在utf8中,许多标点符号被编码为2个字节:C2xx
。例如,版权符号,)
是utf8十六进制C2A9
,这被误解为)
utf8很大,通常有助于处理最常见的字符。下一次,请先检查编码exporting@nbk非常感谢!我在表中找到了
,结果它代表U+00A0
,这是一个不间断的空格–这将帮助我解决其他问题。