Powershell 导出mysql乱码。
1.现象如下。
CREATE TABLE `sf_penetvalue` (
`ID` bigint(20) NOT NULL COMMENT 'ID',
`InnerCode` int(11) NOT NULL COMMENT '璇佸埜鍐呴儴缂栫爜',
`InfoSource` varchar(100) DEFAULT NULL COMMENT '淇℃伅鏉ユ簮',
`EndDate` datetime NOT NULL COMMENT '鏃ユ湡',
`InvolvedDays` int(11) DEFAULT NULL COMMENT '娑夊強澶╂暟',
`UnitNV` decimal(18,10) DEFAULT NULL COMMENT '鍗曚綅鍑€鍊?,
`AccuUnitNV` decimal(18,10) DEFAULT NULL COMMENT '绱鍗曚綅鍑€鍊?鍏?',
`DailyProfit` decimal(18,10) DEFAULT NULL COMMENT '姣忎竾浠藉熀閲戝崟浣嶅綋鏃ユ敹鐩?鍏?',
`LatestWeeklyYield` decimal(18,10) DEFAULT NULL COMMENT '鏈€杩?鏃ユ姌绠楀勾鏀剁泭鐜?,
`NetAssetsValue` decimal(19,4) DEFAULT NULL COMMENT '鏈熸湯鍩洪噾璧勪骇鍑€鍊?',
`UnitSize` decimal(19,2) DEFAULT NULL COMMENT '鍗曚綅浠芥暟(浠?',
`AccuNVGrowthRate` decimal(18,10) DEFAULT NULL COMMENT '鎴愮珛浠ユ潵绱鍑€鍊煎闀跨巼(%)',
`UpdateTime` datetime NOT NULL COMMENT '鏇存柊鏃堕棿');
2.原因
Windows PowerShell 输出重定向 (">") 文件编码默认为UTF-16(LE),而MySQL数据库的编码设置的是UTF-8;
我们需要使用cmd 命令行黑色创建 重新导出即可。
CMD>mysqldump --default-character-set=utf8 -uroot -proot jydb sf_penetvalue > D:/1.sql
CMD>mysqldump -uroot -proot jydb sf_penetvalue > D:/1.sql
3.再次备份如下;
CREATE TABLE `sf_penetvalue` (
`ID` bigint(20) NOT NULL COMMENT 'ID',
`InnerCode` int(11) NOT NULL COMMENT '证券内部编码',
`InfoSource` varchar(100) DEFAULT NULL COMMENT '信息来源',
`EndDate` datetime NOT NULL COMMENT '日期',
`InvolvedDays` int(11) DEFAULT NULL COMMENT '涉及天数',
`UnitNV` decimal(18,10) DEFAULT NULL COMMENT '单位净值',
`AccuUnitNV` decimal(18,10) DEFAULT NULL COMMENT '累计单位净值(元)',
`DailyProfit` decimal(18,10) DEFAULT NULL COMMENT '每万份基金单位当日收益(元)',
`LatestWeeklyYield` decimal(18,10) DEFAULT NULL COMMENT '最近7日折算年收益率',
`NetAssetsValue` decimal(19,4) DEFAULT NULL COMMENT '期末基金资产净值',
`UnitSize` decimal(19,2) DEFAULT NULL COMMENT '单位份数(份)',
`AccuNVGrowthRate` decimal(18,10) DEFAULT NULL COMMENT '成立以来累计净值增长率(%)',
`UpdateTime` datetime NOT NULL COMMENT '更新时间');
37.MySQL备份之通过PowerShell使用mysqldump备份乱码
于 2023-02-17 14:16:11 首次发布