gpt4 book ai didi

mysql加载数据csv utf8字符未读取,powershell csv导出

转载 作者:行者123 更新时间:2023-11-29 23:46:57 30 4
gpt4 key购买 nike

在 powershell 脚本上,我对 MS Access DB 执行查询并将结果导出到 csv 文件:

    $connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= $mdb"
$command = $connection.CreateCommand()
$command.CommandText = $q
$adapter = New-Object -TypeName System.Data.OleDb.OleDbDataAdapter $command
$dataset = New-Object -TypeName System.Data.DataSet
$nb = $adapter.Fill($dataset)

if ( $nb -lt 1 ){
write-host"empty result !"
"empty" | Out-File -Encoding "UTF8" $exportxt
}
else {
write-host "$nb results !"
$dataset.Tables[0] | export-csv $exportxt -NoTypeInformation -Delimiter ";" -Encoding "UTF8"
}
$connection.Close()

当我在 Notepad++ 中打开此文件时,它以utf8正确显示所有字符(我的数据库中有法语单词)。

然后,我将此 csv 上传到服务器并执行一个 php 页面,该页面使用以下查询将其导入到 mysql 数据库:
加载数据本地内文件'$f'
INTO 表 mytable
以“;”结尾的字段由 '\"' 括起来
以 '\n' 结尾的行
忽略 1 行;
所有表均采用 utf8_unicode_ci 格式,但 utf8 字符格式不正确(用 à 代替 ô)。

在我的 php 脚本末尾,我通过电子邮件发送一封确认邮件,并附有 csv 文件,当我收到它时,雷鸟也不显示字符,但如果我在 Notepad++ 中打开 csv 文件,一切正常。

似乎 CSV 文件格式不正确或类似的问题,您觉得怎么样?我错过了 ps 脚本中的 export-csv cmdlet 的选项?

谢谢:)

最佳答案

我通过在 mysql 查询中指定 utf8 字符集解决了该问题:
LOAD DATA LOCAL INFILE '$f'
INTO TABLE article_temporaire_txt
<strong>CHARACTER SET UTF8</strong>
FIELDS TERMINATED BY ';' ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES

但是为什么thunderbird不能识别文件的UTF8编码?

关于mysql加载数据csv utf8字符未读取,powershell csv导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25863699/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com