我有一个 PostgreSQL 数据库。它有一个存储菜单项(标签)的表。这些菜单项以英文存储。有没有办法通过使用本地化功能将这些存储的项目(100+)转换为日语?因为我的客户机器是 UNIX,区域设置设置为日语。
从字里行间看,我想说你的数据库采用iso-8869-1或WIN1252编码,这是英语语言的 1 字节编码。
如果是这样,虽然您可以转码为日语特定的编码,但它们大多非常有限 - 无论是在英语(罗马)字符的覆盖范围还是汉字/平假名的覆盖范围方面。日语在 1 字节编码中表现不佳。Shift-JIS 是解决这个问题的尝试,但它是一种糟糕的文本编码,并且 PostgreSQL 将拒绝使用它运行。
相反,将数据库转换为 utf-8。这将支持您的所有现有内容和所有新内容。UTF-8 适用于任何语言。
为此:
CREATE DATABASE mydb_new ENCODING 'UTF-8'
LC_COLLATE 'jp_JA.UTF-8' LC_CTYPE 'jp_JA.UTF-8';
Run Code Online (Sandbox Code Playgroud)
然后是pg_dump旧数据库,然后pg_restore是新数据库。之后,您可以重命名数据库以交换它们。
latin-1 中的所有字符在 utf-8 中均有效,因此加载转储时不会出现问题。
您/您的客户可能需要生成/安装ja_JP.UTF-8区域设置(如果在 Linux/BSD 上)。如何做到这一点在某种程度上是特定于发行版/平台的。
| 归档时间: |
|
| 查看次数: |
19065 次 |
| 最近记录: |