首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >特殊人物甲骨文

特殊人物甲骨文
EN

Stack Overflow用户
提问于 2015-03-16 15:14:56
回答 1查看 1.4K关注 0票数 0

参见我在Oracle数据库上将一个特殊字符“临时”插入到我的表中:

代码语言:javascript
运行
复制
INSERT INTO ABBREV (ABBREV, DEFINITION) VALUES ('µg','microgram (one millionth of a gram, 10-6 gram)');
INSERT INTO ABBREV (ABBREV, DEFINITION) VALUES ('µmole','micromole');

当我选择我得到的数据时:

代码语言:javascript
运行
复制
SQL> select * from ABBREV where DEFINITION like '%micro%';

ABBREV                         DEFINITION
------------------------------ --------------------------------------------------------------------------------
omi                            other micro-organisms
¿µg                            microgram (one millionth of a gram, 10 -6 gram)
¿µmole                         micromole

SQL> 

为什么我在“扩展”之前加上“”,以及如何在insert语句中避免它?

代码语言:javascript
运行
复制
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
NLS_NCHAR_CHARACTERSET         AL16UTF16
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-17 07:07:19

要想找到合适的解决方案,您必须根据本地代码页设置NLS_LANG环境变量。

看起来是这样的:

代码语言:javascript
运行
复制
C:\>chcp
Active code page: 850

C:\>set NLS_LANG=.WE8PC850

C:\>sqlplus ...

SQL> INSERT INTO ABBREV (ABBREV, DEFINITION) VALUES ('µmole','micromole');

1 row created.

SQL> 

另一个解决方案是使用函数UNISTR

代码语言:javascript
运行
复制
INSERT INTO ABBREV (ABBREV, DEFINITION) VALUES (UNISTR('\00B5mole'),'micromole');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29080372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档