Javascript 使用PHP导出到带有中文字符的CSV
我试过:Javascript 使用PHP导出到带有中文字符的CSV,javascript,php,mysql,sql,csv,Javascript,Php,Mysql,Sql,Csv,我试过: $name = iconv("utf-8", "GB18030", $value["name"]); 在文本中打开并更改编码 更改编码时在excel中导入 我正在用PHP和JS实现这一点: 我的PHP代码: echo '"name";"sex";"language";"city";"province";"country";"account"'; foreach ($res_account as $value) { echo "\n".$name.";".$value["sex"]
$name = iconv("utf-8", "GB18030", $value["name"]);
- 在文本中打开并更改编码
- 更改编码时在excel中导入
echo '"name";"sex";"language";"city";"province";"country";"account"';
foreach ($res_account as $value) {
echo "\n".$name.";".$value["sex"].";".$value["language"].";".$value["city"].";".$value["province"].";".$value["country"].";".$value["account"];
}
responseText是我在php中回显的数据:
var myCsv = request.responseText;
window.open('data:text/csv;charset=GB18030,' + escape(myCsv));
还尝试使用charset=“utf-8”
我总是在csv中看到类似“%u6CD5%u56FD”的内容。
在MySQL数据库中,我有一些类似于:“ä»ääšçç’ž”
但是,当我回显它们时,就可以了。您需要将字符从“%u6CD5%u56FD”转换为“\u6CD5\u56FD”,并使用JSON.parse()解析您的结果:
myCSV = myCSV.replace(/%/g, "\\");
myCSV = JSON.parse('"'+ myCSV + '"');
根据docs的说法,第二个参数似乎是输出字符集,您是否尝试过将其更改为
utf-8
?@PatrickBarr是的,如果我将utf-8作为第二个参数,也是一样的。我会尝试一下,稍后回来告诉您是否有效。非常感谢。