我面临以下问题:
我(错误地)删除了表中的一个键,然后通过这种方式恢复了整个表:
LOAD FROM 'C:\db\rqrequesttrans.dat' delimiter '~' insert into rqrequesttrans
几乎一切正常,但我在某个LVARCHAR
字段中损坏了数据:
例如:
<p>ääÊãÑå ÈÇäÊæÈ ÈÇääÇÒå.</p>
代替<p>للتكرم بالتنبيه باللازم.</p>
我该如何解决这个问题?
我面临以下问题:
我(错误地)删除了表中的一个键,然后通过这种方式恢复了整个表:
LOAD FROM 'C:\db\rqrequesttrans.dat' delimiter '~' insert into rqrequesttrans
几乎一切正常,但我在某个LVARCHAR
字段中损坏了数据:
例如:
<p>ääÊãÑå ÈÇäÊæÈ ÈÇääÇÒå.</p>
代替<p>للتكرم بالتنبيه باللازم.</p>
我该如何解决这个问题?
这不是一个真正的答案。这是一些分析,并要求提供更多信息。
阿拉伯语数据在我的浏览器中显示为 UTF-8:
0x3C = U+003C
0x70 = U+0070
0x3E = U+003E
0xD9 0x84 = U+0644
0xD9 0x84 = U+0644
0xD8 0xAA = U+062A
0xD9 0x83 = U+0643
0xD8 0xB1 = U+0631
0xD9 0x85 = U+0645
0x20 = U+0020
0xD8 0xA8 = U+0628
0xD8 0xA7 = U+0627
0xD9 0x84 = U+0644
0xD8 0xAA = U+062A
0xD9 0x86 = U+0646
0xD8 0xA8 = U+0628
0xD9 0x8A = U+064A
0xD9 0x87 = U+0647
0x20 = U+0020
0xD8 0xA8 = U+0628
0xD8 0xA7 = U+0627
0xD9 0x84 = U+0644
0xD9 0x84 = U+0644
0xD8 0xA7 = U+0627
0xD8 0xB2 = U+0632
0xD9 0x85 = U+0645
0x2E = U+002E
0x3C = U+003C
0x2F = U+002F
0x70 = U+0070
0x3E = U+003E
其他数据显示为来自 ISO 8859-1(或 8859-15)的 UTF8 编码字符:
0x3C = U+003C
0x70 = U+0070
0x3E = U+003E
0xC3 0xA4 = U+00E4
0xC3 0xA4 = U+00E4
0xC3 0x8A = U+00CA
0xC3 0xA3 = U+00E3
0xC3 0x91 = U+00D1
0xC3 0xA5 = U+00E5
0x20 = U+0020
0xC3 0x88 = U+00C8
0xC3 0x87 = U+00C7
0xC3 0xA4 = U+00E4
0xC3 0x8A = U+00CA
0xC3 0xA6 = U+00E6
0xC3 0x88 = U+00C8
0x20 = U+0020
0xC3 0x88 = U+00C8
0xC3 0x87 = U+00C7
0xC3 0xA4 = U+00E4
0xC3 0xA4 = U+00E4
0xC3 0x87 = U+00C7
0xC3 0x92 = U+00D2
0xC3 0xA5 = U+00E5
0x2E = U+002E
0x3C = U+003C
0x2F = U+002F
0x70 = U+0070
0x3E = U+003E
我们可以看到<p>
and.</p>
数据是常见的,空白 U+0020 出现在相同的地方。
对齐数据块,我们可以有些一致性和不一致性:
0xD9 0x84 = U+0644 : 0xC3 0xA4 = U+00E4 Delta = 0x0560
0xD9 0x84 = U+0644 : 0xC3 0xA4 = U+00E4 Delta = 0x0560
0xD8 0xAA = U+062A : 0xC3 0x8A = U+00CA Delta = 0x0560
0xD9 0x83 = U+0643 : 0xC3 0xA3 = U+00E3 Delta = 0x0560
0xD8 0xB1 = U+0631 : 0xC3 0x91 = U+00D1 Delta = 0x0560
0xD9 0x85 = U+0645 : 0xC3 0xA5 = U+00E5 Delta = 0x0560
0x20 = U+0020 : 0x20 = U+0020
0xD8 0xA8 = U+0628 : 0xC3 0x88 = U+00C8 Delta = 0x0560
0xD8 0xA7 = U+0627 : 0xC3 0x87 = U+00C7 Delta = 0x0560
0xD9 0x84 = U+0644 : 0xC3 0xA4 = U+00E4 Delta = 0x0560
0xD8 0xAA = U+062A : 0xC3 0x8A = U+00CA Delta = 0x0560
0xD9 0x86 = U+0646 : 0xC3 0xA6 = U+00E6 Delta = 0x0560
0xD8 0xA8 = U+0628 : 0xC3 0x88 = U+00C8 Delta = 0x0560
0xD9 0x8A = U+064A
0xD9 0x87 = U+0647
0x20 = U+0020 : 0x20 = U+0020
0xD8 0xA8 = U+0628 : 0xC3 0x88 = U+00C8 Delta = 0x0560
0xD8 0xA7 = U+0627 : 0xC3 0x87 = U+00C7 Delta = 0x0560
0xD9 0x84 = U+0644 : 0xC3 0xA4 = U+00E4 Delta = 0x0560
0xD9 0x84 = U+0644 : 0xC3 0xA4 = U+00E4 Delta = 0x0560
0xD8 0xA7 = U+0627 : 0xC3 0x87 = U+00C7 Delta = 0x0560
0xD8 0xB2 = U+0632 : 0xC3 0x92 = U+00D2 Delta = 0x0560
0xD9 0x85 = U+0645 : 0xC3 0xA5 = U+00E5 Delta = 0x0560
因此,很明显,沿线某处存在问题。很可能存在代码集问题。我所知道的常量 0x0560 并不重要,除了字符代码正确和不正确的事实之外,这就是幻数。
没有很多问题的很多答案,没有人能给你很多帮助。当然,某些答案很可能会使某些问题变得毫无意义。
C:\db\rqrequesttrans.dat
创建的?区域设置是否相同?oncheck -pp
或者oncheck -pP
,可能)理想情况下,您将在一个小表中演示损坏 — 一个包含完整数据列的一小部分(2 或 3 列,其中之一是 LVARCHAR 列)和少量行(10 以下) . 我们可能没有那么幸运能够创造它。列出的问题可能是最先被问到的问题(也许oncheck
信息除外)。