标签: character-set

是否有允许表情符号和重音符号的 MySQL 字符集和编码?

我有一个术语数据库,由一组用户添加到其中,并由另一组用户查询。

\n\n

当人们在数据库中查询表情符号并且我的 React 应用程序会抛出错误(奇怪的是 CORS 错误,但这是一个不同的问题)时,我遇到了问题。我最终通过将表的字符集更改为utf8mb4带有utf8mb4_unicode_ci排序规则来解决这个问题。

\n\n

现在,我在添加新术语时遇到错误,例如,“beyonc\xc3\xa9”的重复行已存在。但是,当我在数据库中查询“beyonc\xc3\xa9”时,它返回其中包含“beyonce”的行。是否有字符集和排序规则的组合可以正确处理这个问题?

\n\n

我的数据库是在 Amazon RDS 上运行的 MySQL 5.6.40。

\n

mysql collation character-set encoding

3
推荐指数
1
解决办法
3854
查看次数

欧元符号/符号未出现在 Oracle 10gr2 和 aix 6.1 上

这是 aix 6100-02 上的 Oracle 10gr2

问题是我没有看到 Oracle 的 € 标志。

这是查看问题的简单方法:

SQL> insert into prueba values ('€');
SQL> commit;
SQL> select * from prueba;
EURO
------------------------------------------------------------
¿
SQL>
Run Code Online (Sandbox Code Playgroud)

这是我已经做过的测试。

我从外壳中看到它:

oracle@krats:/u01#perl -Mcharnames=:full -CS -wle 'print "\N{EURO SIGN}"'
€
oracle@krats:/u01#
Run Code Online (Sandbox Code Playgroud)

但我没有从 sql 中看到它:

SQL> select chr(128) from dual;

C
-


SQL>
Run Code Online (Sandbox Code Playgroud)

该数据库具有以下 NLS_SESSION_PARAMETERS;

SQL> SELECT * FROM NLS_SESSION_PARAMETERS;
PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE                   SPANISH
NLS_TERRITORY                  SPAIN
NLS_CURRENCY                   ¿
NLS_ISO_CURRENCY               SPAIN
NLS_NUMERIC_CHARACTERS         ,.
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD/MM/RR
NLS_DATE_LANGUAGE              SPANISH
NLS_SORT …
Run Code Online (Sandbox Code Playgroud)

oracle character-set

2
推荐指数
1
解决办法
2万
查看次数

如何在 SQL Server 2012 中禁用区分大小写?

我尝试collation_namesys.databases. 我正在尝试将 'SQL_Latin1_General_CP1_CS_AS' 更改为 'SQL_Latin1_General_CP1_CI_AS' 以禁用表中的区分大小写。

update d set d.collation_name='SQL_Latin1_General_CP1_CI_AS'
--SELECT name, collation_name 
FROM sys.databases d
WHERE name = 'db_name' 
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:


不允许消息 259,级别 16,状态 1,第 1 行对系统目录进行临时更新。

collation character-set sql-server-2012 unicode

2
推荐指数
1
解决办法
2万
查看次数

mysql 会为 varchar utf8 列占用多大空间?

提示:要使用 UTF-8 节省空间,请使用 VARCHAR 而不是 CHAR。否则,MySQL 必须为 CHAR CHARACTER SET utf8 列中的每个字符保留三个字节,因为这是可能的最大长度。例如,MySQL 必须为 CHAR(10) CHARACTER SET utf8 列保留 30 个字节。

来自:http : //dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8.html

这是否意味着如果我在 mysql 中使用除char utf8列之外的varchar utf8列,mysql 将使用 1 个字节的拉丁语和 3 个字节的 CJK(Chinese?japanese?Korean) 物理存储字符?

mysql varchar character-set utf-8

2
推荐指数
1
解决办法
3582
查看次数