我有一个脚本,该脚本可以连接当前目录中的所有txt文件,但是当其中一个文件中有西班牙语字符(“?”,重音符号)时,输出将显示稀有字符。 我尝试了几种选择,但没有一个起作用。
在我的机器上,我具有此配置
[System.Text.Encoding]::Default.EncodingName
Europeo occidental (Windows)
这是我的代码:
Write-Host "Pagina Codigos" -ForegroundColor 'yellow'
[System.Text.Encoding]::Default.EncodingName
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
$dir_A_Concatenar = $args[0]
$dir_A_Concatenar = ".\*.txt"
$ficResultado = Split-Path (Split-Path $dir_A_Concatenar -Parent) -Leaf
foreach ($item in Get-ChildItem $dir_A_Concatenar) {
" " >> ".\$ficResultado.sal"
$s="------------------- INICIO : $item --------------------------------------------------------"
$s >> ".\$ficResultado.sal"
" " >> ".\$ficResultado.sal"
Write-Host "Start Processing $item" -ForegroundColor 'green'
cat $item | Select-Object -Skip 0 | Out-File -Append .\$ficResultado.sal
(Get-Content $item) | Set-Content -Encoding UTF8 -Path ".\gc_sc_encodeutf8.sal"
Get-Content $item | Add-Content ".\gc_ac.sal"
Get-Content $item | Out-File ".\gc_ofenc_utf8.sal" -Encoding UTF8 -Append
cat $item | sc -Encoding UTF8 .\CATsc_encodeUTF8.sal
Write-Host $item
" " >> ".\$ficResultado.sal"
$s="------------------- FINAL : $item --------------------------------------------------------"
$s >> ".\$ficResultado.sal"
" " >> ".\$ficResultado.sal"
Write-Host "Ended Processing $item" -ForegroundColor 'white'
}
如您所见,我尝试了多种连接方法,但是它们都给我相同的结果。
答案 0 :(得分:0)
导入数据时使用编码Default
:
Get-Content $item -Encoding Default | ...