如何将postgreSQL中的db转换为utf8?

dar*_*kjh 12 database postgresql encoding utf-8

我刚刚为我的项目在postgreSQL中安装了一个db,并且意识到它是用SQL_ASCII编码的,这意味着"没有编码".

那么将此转换为utf8的最简单方法是什么?我知道db应该在latin1中,转换是否会损坏内容?

谢谢!

Phi*_*ing 15

转换为UTF8不应该损坏您的数据,因为(我相信)SQL_ASCII中的所有字符也存在于utf8中; 他们只有不同的字节码.

您最好的办法是重建数据库.即转储它,创建一个utf8数据库,然后将转储恢复到该新数据库.

postgres pg_dump --encoding utf8 main -f main.sql
createdb -E utf8 newMain
psql -f main.sql -d newMain
Run Code Online (Sandbox Code Playgroud)

当您对新的UTF8数据与您的数据匹配感到满意时,您当然可以重命名数据库.