oracle数据库里中文显示不出来是怎么回事?

oracle数据库里中文显示不出来是怎么回事?,第1张

数据库编码字符集设置的不对。

数据库码就是数据库编程语言中的代码。流行的关系数据库系统都支持数据库字符集编码,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。

当应用程序访问数据时,在入口和出口处都会有字符集编码的转换。对于中文数据,数据库字符编码的设置应当保证数据的完整性。

GB2312、GBK、UTF-8等都是可选的数据库字符集编码当然我们也可以选择。ISO8859-1(8-bit),只是我们得在用程序写数据之前先将16Bit的一个汉字或Unicode拆分成两个8-bit的字符,读数据之后也需要将两个字节合并起来,同时还要判别其中的SBCS字符。

字符编码也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。

常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。

在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。

对于支持包括东亚CJK字符家族在内的写作系统的要求能支持更大量

1,创建table的时候就使用utf8编码

举个例子:

在每次创建表的时候都在最后加上 character set = utf8 就可以很好的支持中文。

2,修改已经有的table的编码

当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:

此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。

[注意] 我google了一下,有些地方说这个命令也行,但是我测试以后并不行

alter table table_name charset=utf8 #这个语句并没有让table_name支持中文


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9251945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存