Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能更改“的”;“字符类型”;postgresql中的数据库?_Postgresql_Character - Fatal编程技术网

我怎样才能更改“的”;“字符类型”;postgresql中的数据库?

我怎样才能更改“的”;“字符类型”;postgresql中的数据库?,postgresql,character,Postgresql,Character,我正在使用postgreSQL 9.1 我已经将数据库的排序规则和字符类型设置为希腊文_希腊文1253,我想将其更改为utf8 要更改我应该使用的排序规则,对吗 但是我怎样才能改变角色类型呢 谢谢 编辑 我选择了wright C而不是utf8。我想将排序规则和字符类型更改为C您不能更改现有数据库的默认排序规则。您需要使用所需的排序规则创建数据库,然后将模式和数据转储/恢复到数据库中 如果不想重新创建数据库,可以为数据库中的每个文本指定排序规则 以下是有关排序规则的详细postgres手册: 本手

我正在使用postgreSQL 9.1

我已经将数据库的排序规则和字符类型设置为希腊文_希腊文1253,我想将其更改为utf8

要更改我应该使用的排序规则,对吗

但是我怎样才能改变角色类型呢

谢谢

编辑


我选择了wright C而不是utf8。我想将排序规则和字符类型更改为C

您不能更改现有数据库的默认排序规则。您需要使用所需的排序规则创建数据库,然后将模式和数据转储/恢复到数据库中

如果不想重新创建数据库,可以为数据库中的每个文本指定排序规则

以下是有关排序规则的详细postgres手册:

本手册页面的第一行说明:

之后,无法更改数据库的LC\U COLLATE和LC\U CTYPE设置 它的创造


可能重复@DietrichEpp您提出的问题是关于编码。我在问有关排序和字符类型的问题,然后你会感到困惑。UTF-8不是字符类型,它不是排序规则,UTF-8是编码。Windows 1253也是一种编码,它不是字符类型。@DietrichEpp是的,我很抱歉。我选择了wright C而不是utf8。谢谢你指出。我会编辑这个问题,你能解释一下“角色类型”是什么意思吗?在PostgreSQL中,“字符类型”表示
varchar(n)
text
,等等。1253不是字符类型,C也不是。我使用pgAdmin将表列的排序规则设置为
pg_catalog.“C”。这些名称存储在数据库中。当我保存希腊文字符时,我会在数据库中看到希腊文。这整个问题都是因为。我仍然看到错误的字符上传到文件夹中。是因为数据库吗?@slevin您指出的问题不是关于LC\u COLLATE和LC\u CTYPE。它是关于字符编码的(比如
utf8
windows1253
等等)。如果要使用unicode字符,则需要将数据库编码设置为unicode(utf8),并使应用程序以unicode格式发送字符串。@数据库的编码为utf8。排序规则和字符集不同(希腊文…)。我会仔细检查一切…无论如何,谢谢你的帮助time@slevin如果您的数据库已经使用了
utf8
作为编码,那么您的应用程序可能会发送编码错误的文本。Igor,谢谢您的时间。我为数据库中的每个文本列指定了排序规则。至于另一个问题,我也找到了解决办法。看看你是否喜欢。谢谢