导航:首页 > 数据处理 > 数据库用哪个字符集

数据库用哪个字符集

发布时间:2022-01-23 00:42:39

1. 请问在项目应用中oracle数据库字符集该选择 gbk 还是 utf-8

根据系统来定吧。。。。

中文很容易出乱码

还有救是要看你的开发环境。。。如果都是WIN 默认就好。
如果 开发是WIN 应用到LINUX 那还是指定一下比较好。

推荐UTF-8

2. oracle数据库目前的字符集是什么,该怎么查

一、什么是oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中: Language 指定服务器消息的语言,territory 指定服务器的日期和数字格式,charset 指定字符集。如:AMERICAN _ AMERICA. ZHS16GBK 从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。 二、 很多人都碰到过因为字符集不同而使数据导入失败的情况。这涉及三方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。 1、查询oracle server端的字符集 有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:SQL>select userenv('language') from al; 结果类似如下:AMERICAN _ AMERICA. ZHS16GBK
select * from nls_database_parameters where parameter='NLS_CHARACTERSET'

3. Oracle安装选择哪个字符集

一般生成数据库 database_character_set 我选utf8,生成数据库后不能修改。
安装oracle程序字符集看你喜欢,中文英文都可。
生成数据库的国家字符集生成后可以修改。
主要影响以后连接session的默认日期,数据格式等。

4. mysql数据库字符集选择,utf8还是utf8mb4更好

这要看你自己了,为了节省空间,一般情况下使用utf8也就够了,
为了兼容性更好点就用utf8mb4了;
utf8mb4编码专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。

5. 数据库该如何选择字符集

UTF8是最后的选择。一般中文环境下建议gb18030-2000

6. mysql数据库表里中文乱码应该选哪种编码

数据库中关于字符集的种类有很多,个人建议,数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接用中文在命令行工具中插入数据,并且可以直接显示出来.而不要使用gb2312或者gbk等字符集,如果担心查询排序等问题,可以使用binary属性约束 对编程有影响的主要是客户端字符集和数据库字符集(还有一个服务器字符集,不知道干什么用的), 数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和数据库字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两次操作的客户端字符集一致即可。
在MySQL的客户端上执行一次查询的过程一般是,在客户端的提示符后面输入一条SQL语句,回车,然后终端显示出查询的结果。这个过程中,只有终端和三个MySQL的系统变量指定了正确的字符集,才能保证我们将一个正确的SQL语句送到服务器,然后服务器返回正确的结果,并且在终端正确显示。
三个MySQL的系统变量是:
1. character_set_client,终端字符集,告诉Server客户端提交的SQL语句的编码格式
2. character_set_connection,连接字符集,是服务器翻译SQL语句时用到的编码格式
3. character_set_results,返回的结果集的字符集,是服务器返回结果集之前把结果集转换成的编码格式
在MySQL终端通过执行命令 show variables like ‘char%’ 可以查看这几个变量的值。这三个变量通常都设定为同一种字符集,用命令set names [charset name]就可以修改这三个变量的值。一般来说,只要你设定了能够表示你的数据的字符集,你查询的结果都可以在终端正确显示。
举个例子,使用的表t1是utf8编码,表中的字段c1继承了这个编码,表创建如下
mysql> create table t1 ( c1 text not null ) character set utf8;
用的字符是汉字“范”,gbk编码为B7 B6,utf8编码为E8 8C 83
用下面的SQL语句插入数据
mysql> insert into t1 values( ‘范’);
a)如果终端设置为utf8,并且执行了 set names utf8,那么插入到数据库中的就是“范”这个字的utf8编码,这个过程中MySQL不需要做编码转换。写入数据库的内容可以通过执行 select hex( c1 ) from t1 得到数据的十六进制编码来验证。

b)如果终端设置为 utf8,并且执行了set names gbk,那么执行完这个插入操作后,写入的二进制数据是E9 91 BC,这是“汉字“锣”的utf8编码。这是因为,终端输入的“范”用的是utf8编码,而服务器以为终端发送过来的内容是gbk编码,所以在向t1表中插入的时候进行了一次gbk到utf8的转换,结果当然是错误的。

c)如果终端设置为gbk,并且执行了set names gbk,那么执行完插入操作后,写入t1的依然是“范”这个字的utf8编码。插入过程中,终端输入的是“范”的gbk编码B7 B6,服务器被告知终端发过来的SQL语句是gbk编码(由character_set_client指定),所以在插入数据前做了一次gbk到utf8的编码转换。

d)如果终端设置为gbk,并且执行了set names utf8,那么执行完插入操作后,MySQL会报出一个数据被截断的警告。实际上,输入终端的是“范”这个字符的gbk编码B7 B6,而服务器被告知客户端发过来的SQL语句是utf8编码,所以在执行过程中没有做转码,直到插入数据的时候,发现B7 B6不符合utf8的编码规则,给出了警告信息,实际插入的数据是3F 3F,也就是两个问号。

查询的时候是同样的道理,MySQL也是根据set names设定的字符集来对返回给客户端的结果集做相应的编码转换,如果转换的结果和终端显示的字符集一致,就能正确显示,如果不一致就是乱码。

结论是,只要终端的字符集和set names指定的字符集一致就可以让MySQL在处理过程中执行正确的转码并且正确地显示。

另外,如果通过程序操作MySQL数据库, 那么也需要事先执行set names命令来指定程序希望输出的字符集。比如,用程序从一个utf8编码的数据库向另外一个gbk编码的数据库进行数据迁移,在选取源数据库数据之前,需要执行set names gbk,才能取到gbk编码的数据。

7. 什么是数据库字符集 数据库字符集在那种数据库中才有

就是存储数据到表中的时候所用到的字符集,不同字符集编码格式不同,一般编写应用程序或者web应用操作数据库遇到的乱码就是字符集不同造成的,像mysql,oracle都会有字符集问题。

8. 数据库字符集

数据库需要设置UTF8字符集, 这样就可以支持了。

9. mysql 建数据库用什么字符集

mysql创建数据库一般使用的字符集为UTF-8,但具体的要根据实际情况进行选择。

工具:mysql5.6,Navicat Premium

步骤:

1、打开Navicat Premium,双击左侧服务器的树形结构,连接到服务器,这里以localhost为例。

10. 国内的Oracle数据库一般用什么字符集

ORACLE数据库有国家字符集(national character set)与数据库字符集(database character set)之分。两者都是在创建数据库时需要设置的。
国家字符集主要是用于NCHAR、NVARCHAR、NCLOB类型的字段数据,而数据库字符集使用很广泛,它用于:CHAR、VARCHAR、CLOB、LONG类型的字段数据;

阅读全文

与数据库用哪个字符集相关的资料

热点内容
随身无线网怎么代理 浏览:95
如何触发小程序 浏览:364
代理什么游戏可以拉人头 浏览:853
怎么看基金产品诊断 浏览:168
头条的数据怎么写 浏览:600
在职教师如何代理招生 浏览:551
交易中的杠杆怎么理解 浏览:194
衡阳男装店代理多少钱 浏览:187
jcd数据平台是什么 浏览:306
化妆品批发市场哪里多 浏览:610
广东有哪些大数据学院 浏览:39
惠州个人商务信息咨询电话多少 浏览:844
建行td交易平台有哪些 浏览:179
sql如何新建数据库表间关系图 浏览:671
花呗怎么删掉交易 浏览:357
如何在网上查船只信息 浏览:816
做交易有什么忌讳 浏览:620
dj市场有什么 浏览:506
医院信息部是做什么工作的 浏览:103
南方电网代理购电是什么意思 浏览:928