解码旧 mysql UTF8 存储...怎么办?
Decoding old mysql UTF8 storage... how do?
针对旧 MySQL 数据库执行的以下查询应该会显示一个 UTF-8 字符 'yama' 代表山。
select convert(sc_cardname using binary) as cn
from mtg.mtg_cdb_set_cards where setcardid = 214400
而是生成以下 15 字节数组:
[195, 165, 194, 177, 194, 177, 195, 168, 226, 128, 158, 226, 128, 176, 32]
这些值是什么?我如何从那里获得角色身份?
供参考,预期的二进制数组如下:
[229, 177, 177]
更新:下面的代码修复了yama问题,不知道为什么:
var iconv = new Iconv('utf8','ISO-8859-1');
shortBuffer = buffer.slice(0,-9);
result = iconv.convert(shortBuffer).toString('utf8');
答案是这样的,所有内容实际上都是用 LATIN1 编码的...更改连接属性以反映问题已解决
针对旧 MySQL 数据库执行的以下查询应该会显示一个 UTF-8 字符 'yama' 代表山。
select convert(sc_cardname using binary) as cn
from mtg.mtg_cdb_set_cards where setcardid = 214400
而是生成以下 15 字节数组:
[195, 165, 194, 177, 194, 177, 195, 168, 226, 128, 158, 226, 128, 176, 32]
这些值是什么?我如何从那里获得角色身份?
供参考,预期的二进制数组如下:
[229, 177, 177]
更新:下面的代码修复了yama问题,不知道为什么:
var iconv = new Iconv('utf8','ISO-8859-1');
shortBuffer = buffer.slice(0,-9);
result = iconv.convert(shortBuffer).toString('utf8');
答案是这样的,所有内容实际上都是用 LATIN1 编码的...更改连接属性以反映问题已解决