当前位置: 首页 > 知识库问答 >
问题:

Postgres副本导入了错误的字符

慕阳文
2023-03-14

当我复制一个编码为win1252的csv文件时,错误的字符会在Postgres数据库中显示出来。

它在postgres数据库11.3中使用datcollate和datctype编码en_us.utf8和es_es.utf8运行良好,在这两个数据库中,复制后字符显示正确。

它在带有datcollate和datctype编码en_us.utf8的postgres数据库9.4.9中不起作用

这是我正在使用的复制sql指令:

从STDIN复制tmp_divisionzonaUE(Id,version,compañia,COD_UE,UNIDAD_EJECUCION,DIVISION,COD_UG,U_GESTION,COD_UC,U_COORDINACION,UE_PROVINCIA,ue_direcion,UE_CP,UE_AREA_DESPLIEGE,UE_COD_SIEMENS,ue_cod_triterorio,UE_COD_DIVISION,UE_COD_PROVINCIA,UE_COD_LOCALIDAD)“+”(格式文本,编码“win1252”,分隔符“

更新:我已经检查了问题是我启动复制代码的地方,如果我启动它是windows机器并且csv文件存储在windows机器中,字符在数据库中显示正确,但是如果我启动复制代码是linux机器并且csv文件存储在linux机器中,字符显示不正确。

update2:在linux机器中,如果我从eclipse启动COPY(因为它在Java代码中),那么字符在数据库中会很好地出现,但是如果我在命令行中用Java-jar filename启动相同的jar文件,那么字符就不会很好地出现。


共有1个答案

杜祺
2023-03-14

应在copy命令的encode选项中指定文件的编码。

编码

指定文件在encoding_name中编码。如果省略此选项,则使用当前客户端编码。有关更多详细信息,请参阅下面的注释。

 类似资料:
  • 我正试着用这本手册开始tensorflowhttps://www.tensorflow.org/install/install_windows 所有安装都成功完成,我正在使用python 3.5.2和最新版本的pip,遇到这个错误,有人告诉我应该怎么做吗? 在swig\parth\AppData\Local\Programs\Python35\lib\site-p tensorflow\Pytho

  • 我读了很多与我所问的问题相关的答案,但我仍然不明白如何使我正在尝试的事情成为可能。所以让我们直奔主题。我将报告我的应用程序的简化版本。 null 现在,集群和解析器包中包含的python脚本应该使用support_class中包含的myclass.py。 我尝试了相对导入,但它们不起作用,因为我希望直接运行集群和解析器包中包含的脚本,并且我不想使用-m选项。 python parser.py[参数

  • 问题内容: 好的,我正在尝试使ActionBarSherlock正常工作,因此我通过以下方式导入了库: 之后,我使用相同的方法从示例文件夹中导入了一个示例项目,该库和示例均设置为Android 15 Build Path! 我的问题是,库中出现了100多个错误,有关Call的各种内容都需要api级别11,而且我不知道怎么了! 我尝试过的事情: 清理项目 将构建路径设置为13、14和15 大多数错误

  • 我是Python的初学者,我有一个问题。 为什么舍入像5.5、7.5、(anyther).5这样的数字用奇数部分应用是正确的(规则5/4),但是用相同的函数舍入像(anyther).5这样的数字用非奇数部分只返回一个整数部分?(但是如果我们在这个十进制数字上加上一个小数字,比如0.00000000001,它就能正常工作了) 我是说下一个: 返回10,它是正确的。但是

  • 我正在制作一个学生注册系统,用户可以将学生添加到控制台中的“大学”帐户。我正在尝试使其在Arraylist中输入“学生”对象的副本“如果它具有相同的学习ID和学生名称”时引发错误。我尝试使用for循环循环使用“。包含”方法来喜欢这个 但两次尝试都失败了。那么,有没有办法让它做到这一点,我最初的尝试有什么问题?

  • 我们有一个基于Maven的Android构建,我们刚刚从JDK6切换到了7。 但这也带来了它的智能问题。每次它检测到POM中的更改,并重新导入/刷新项目时,它都返回到选择旧的“Module SDK”,即配置为使用Java6: 即使我手动从“Platform Settings”对话框中删除了这些SDK,它们仍然会以“Maven Android API 19 Platform(N)”的形式出现,其中N