gpt4 book ai didi

database - 在 ISO-8859-1 Oracle 数据库中编码 "€"字符

转载 作者:搜寻专家 更新时间:2023-10-30 20:12:38 25 4
gpt4 key购买 nike

是否可以在字符集为 ISO-8859-1 的 Oracle 数据库中插入“€”(作为 VARCHAR)?

我想从 ISO-8859-1 转移到 ISO-8859-15 字符集(甚至 WINDOWS-1252 字符集都适合)我的数据库以便在我的数据库中存储“€”,但是有人告诉我用数据库的 ISO-8859-1 字符集,可以直接存储我的“€”字符。

所以问题是目前,我正在尝试为 ISO-8859-1 数据库找到这个解决方案 > 插入“€”(取决于客户端/驱动程序/等的字符集) ., 但不依赖于数据库的字符集)

您对此有何看法...?

如果是这样,那为什么我们必须为 Oracle 数据库定义一个字符集?有人告诉我,这只是为了让 Oracle“知道编码字符需要多少字节”(因此选择一个字符集相当于只选择一些位供 Oracle 对每个字符进行编码。结论:ISO-8859 -1 = ISO-8859-15-WINDOWS = 1252 在某些方面对于 Oracle 因为所需的位数是相同的...)

我希望我(几乎)清楚..但是在我看来我认为我永远能够执行 INSERT (带“€”)和 SELECT 并在 ISO-8859-1 数据库上检索我的“€”...

感谢阅读我..

(PS:数据库是10g版本)

最佳答案

字符未在 ISO-8859-1 中分配。因此,您无法代表它。与 ISE-8859-15 中相同的字节用于表示 ¤(货币通用符号)。

Source

Oracle 需要知道它将使用什么字符集对数据库进行编码以用于以下目的:

  • 知道每个字符要存储多少字节
  • 能够在客户端 NLS 不同时执行转换(一些客户端使用有效的 ISO-8859-1 数据发送 UTF-8 格式的查询:Oracle 可以翻译它)。
  • 分析列内容的程序包(如全文搜索)对它是什么字符很敏感。

关于database - 在 ISO-8859-1 Oracle 数据库中编码 "€"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com