gpt4 book ai didi

sql - mysql 中的数据库上传 - 丢失 UTF 字符

转载 作者:行者123 更新时间:2023-11-29 14:18:03 24 4
gpt4 key购买 nike

我经常更新服务器上的数据库,并从命令行运行以下行:

mysqldump -u root --password=mypass mydb|mysql -h mysite.cc -u remotusr --password=remotpsw remotdb

问题是它会丢失 UTF 字符。

如何在 cmd 中保留 utf 字符,或者更好的做法是什么?

最佳答案

(升级为答案)

mysqldump — A Database Backup Program 下所述:

[ deletia ]

  • --set-charset

    Add <strong>SET NAMES <em>default_character_set</em></strong> to the output. This option is enabled by default. To suppress the SET NAMES statement, use --skip-set-charset.

因此,除非选项文件中的设置覆盖了这些默认值(您可以指定 --no-defaults 以确保它们不会),否则 mysqldump 的输出 应该能够重定向到另一个 mysql session 不会丢失 Unicode 字符。

相反,从新数据库检索和显示数据时似乎会转换为较小的字符集。由于您正在使用 PHP 的原始 MySQL API 来实现此目的,尽管 the introduction to its manual chapter 中有警告。 (如下),您应该使用 mysql_set_charset() 设置连接字符集。

This extension is not recommended for writing new code. Instead, either the mysqli or PDO_MySQL extension should be used. See also the MySQL API Overview for further help while choosing a MySQL API.

关于sql - mysql 中的数据库上传 - 丢失 UTF 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12255413/

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