gpt4 book ai didi

来自 Powershell 和 Windows 编码的 MysqlDump

转载 作者:可可西里 更新时间:2023-11-01 06:30:35 27 4
gpt4 key购买 nike

我在 ms-dos 上使用 mysqldump 从命令行导出:

& mysqldump -u root -p --default-character-set=utf8 -W -B dbname 
> C:\mysql_backup.sql

我的数据库/表是用 UTF-8 编码的,我在进行转储时指定了相同的编码。但是当我用 Notepad++ 或 Scite 打开文件时,我看到了 UTF-16 (UCS-2) 的编码。如果我在运行导入之前没有将带有 iconv 的文件转换为 UTF-8,则会出现错误。

似乎 MS-DOS/CMD.exe 默认使用 UTF-16 重定向。我可以改变这个吗?

旁注:我使用 Powershell 调用 mysqldump。

更新:它似乎只在从 Powershell 调用 mysqldump 时发生。我将命令行更改为我在 PS 脚本中使用的命令行

最佳答案

默认情况下,PowerShell 将文本表示为 Unicode,当您将其保存到文件时,它默认保存为 Unicode。您可以使用 Out-File cmdlet 而不是 > 运算符来更改文件保存格式,例如:

... | Out-File C:\mysql_backup.sql -Encoding UTF8

您可能还需要向 PowerShell 提示如何解释来自转储实用程序的 UTF8 文本。 This blog post展示了在实用程序未输出正确的 UTF8 BOM 时如何处理这种情况。

关于来自 Powershell 和 Windows 编码的 MysqlDump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4599510/

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