导出到 csv:罗马尼亚语言字符失败
Exporting to csv: Romanian Language character failure
Helo 我的变音符号有问题.. 在 Mysql 中没问题我设置了 utf8_general_ci 你可以在这张图片中看到
在我的网站上可以看到
但是当我导出到 csv 文件时不起作用..
另一个带有变音符号的文件读取我的 excel 但这个不是。
我使用此代码进行导出
function doCsv(){
var table = document.getElementById("exportTable").innerHTML;
var data = table.replace(/<thead>/g,'').replace(/<\/thead>/g,'')
.replace(/<tbody>/g,'').replace(/<\/tbody>/g,'')
.replace(/<tr role="row" class="odd">/g,'').replace(/<tr role="row" class="even">/g,'').replace(/<\/tr>/g,'\r\n')
.replace(/<th style="background-color:#6699ff;">/g,'').replace(/<\/th>/g,';')
.replace(/<td>/g,'').replace(/<\/td>/g,';')
.replace(/\t/g,'').replace(/\n/g,'');
var link = document.createElement('a');
link.download = "exportToCSV.csv";
link.href = "data:application/csv," + escape(data);
link.click();
如果我发出警报,它会保持良好状态:
有人帮我吗?
看到%u0218
了吗?这意味着 something 正在转换为 Unicode。你不想要那个。您想要 utf8
(或 utf8mb4
)。
Select 来自 table 的 HEX。对于这些字母:ĂÎŞŢÂ
,如果以 UTF-8 正确编码,您应该得到这个十六进制:C482 C38E C59E C5A2 C382
。请注意,每个重音字母都会变成 2 个十六进制字节。
您的第二次尝试返回 ĂÎŞŢÂ
,ĂÎŞŢÂ
为 "Mojibake"。它的十六进制是C384E2809AC383C5BDC385C5BEC385C2A2C383E2809A
。
我讨论了 Mojibake 并指出了 中做错了什么。
不知何故,您的 Excel 代码需要说明导出 UTF-8,而不是 unicode。
而你的 table 必须是 utf8
,而不是 latin1
。
并且导入必须声明数据为utf8
.
Helo 我的变音符号有问题.. 在 Mysql 中没问题我设置了 utf8_general_ci 你可以在这张图片中看到
在我的网站上可以看到
但是当我导出到 csv 文件时不起作用.. 另一个带有变音符号的文件读取我的 excel 但这个不是。
我使用此代码进行导出
function doCsv(){
var table = document.getElementById("exportTable").innerHTML;
var data = table.replace(/<thead>/g,'').replace(/<\/thead>/g,'')
.replace(/<tbody>/g,'').replace(/<\/tbody>/g,'')
.replace(/<tr role="row" class="odd">/g,'').replace(/<tr role="row" class="even">/g,'').replace(/<\/tr>/g,'\r\n')
.replace(/<th style="background-color:#6699ff;">/g,'').replace(/<\/th>/g,';')
.replace(/<td>/g,'').replace(/<\/td>/g,';')
.replace(/\t/g,'').replace(/\n/g,'');
var link = document.createElement('a');
link.download = "exportToCSV.csv";
link.href = "data:application/csv," + escape(data);
link.click();
如果我发出警报,它会保持良好状态:
有人帮我吗?
看到%u0218
了吗?这意味着 something 正在转换为 Unicode。你不想要那个。您想要 utf8
(或 utf8mb4
)。
Select 来自 table 的 HEX。对于这些字母:ĂÎŞŢÂ
,如果以 UTF-8 正确编码,您应该得到这个十六进制:C482 C38E C59E C5A2 C382
。请注意,每个重音字母都会变成 2 个十六进制字节。
您的第二次尝试返回 ĂÎŞŢÂ
,ĂÎŞŢÂ
为 "Mojibake"。它的十六进制是C384E2809AC383C5BDC385C5BEC385C2A2C383E2809A
。
我讨论了 Mojibake 并指出了
不知何故,您的 Excel 代码需要说明导出 UTF-8,而不是 unicode。
而你的 table 必须是 utf8
,而不是 latin1
。
并且导入必须声明数据为utf8
.