oracle - SQL Developer 特殊字符
问题描述
我在使用 Oracle 数据库和 ASCII 字符编码时遇到问题。
我正在尝试在 Varchar2() 列上使用包含特殊字符(如 á、é、í、ó、ú、(西班牙语)等)的字符串制作更新句子。
每次我从该列恢复数据时,例如,我没有看到“ó”,而是得到“髇”或“髇”。
我正在写更新句子,例如:
UPDATE TABLE_1
SET DESCRIPTION = 'THIS IS A TEXT WITH SPECIAL CHAR ó ÉND'
WHERE ID = '1';
当我这样做时:
SELECT ID ||' | '|| DESCRIPTION FROM TABLE_1 WHERE ID = '1';'
我有:
1 | THIS IS A TEXT WITH SPECIAL CHAR 髇 END
我正在使用 SQL Developer 版本 4.0.3
感谢您的帮助。
解决方案
您必须检查注册表中的 Nlslang 和数据库字符集,它们似乎不同。
例子:
SELECT * FROM v$nls_parameters WHERE parameter LIKE 'NLS_CHARACTERSET'
/
PARAMETER VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_CHARACTERSET AL32UTF8
从注册表转到 oracle 注册表并在 nlslang 中添加值American_America.Al32UTF8
(例如)类似于您在数据库中的值。
顺便说一句,有时它也来自控制面板中的语言,如果你想使用法语字符,最好将其分配为法语。(控制面板\时钟、语言和区域...然后在管理选项卡中)
推荐阅读
- linux - pscp: 波浪号 '~' 未被识别为主目录,如何解决?
- windows - 在批处理文件中循环文件以将它们添加为 SSL 证书
- c# - c# Windows 服务在使用 installutil.exe 发布时不起作用
- node.js - 如何通过 docker 设置我的 nodejs 后端,以便使用正确的表构建数据库?
- python - 当使用@client.event discord 时,当输入某些关键字时,bot 不会返回消息
- popmotion - Popmotion 立即结束补间并跳转到补间的末尾
- reactjs - 使地图的边界适合 React-Leaflet 中 FeatureGroup 的内容
- android - 如何检查是否启用了“多用户”
- msal - 通过网关/转发代理服务器使用 MSAL
- python - 通过更改参数值进行初始化时的 Python 底图错误