问题标签 [character-set]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

sql - 我们如何将表情符号保存在 SQL 数据库中以保留它们的唯一性以进行相等比较?

当我们将表情符号保存到我们的数据库时,我们遇到了问题。

我们已将表格列更改为字符集和排序规则,以节省足够的字节来区分表情符号。

这是我们修改表列的查询:

ALTER TABLE TableName MODIFY TableColumn VARCHAR(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

当我们保存以下表情符号时,二进制值如下:

一些表情符号 (♥️) 保存二进制信息,使我们能够将它们区分为唯一/单独的表情符号。

由于我们不想两次保存相同的表情符号,因此对于我们的用例,我们正在检查数据库中的“值”。如果该值存在,我们不保存表情符号。

但是,许多表情符号值,包括 和 ,都被视为相同的值。

因此,当我们尝试保存 and 时,只有一个被保存...

为什么它们被视为相同的值?

我们如何使用 SQL 保存和识别不同的表情符号?

我们可以使用更好的字符集或排序规则吗?

我们正在通过单独的存储库访问 MySql 和 MSSql 数据库,这些存储库是在 .NET 框架项目中用 C# 编写的。

0 投票
2 回答
373 浏览

c++ - 如何将Unicode字符存储在数组中?

0 投票
1 回答
80 浏览

python - 初始化 unicode 字体的对象

我编写了一个类对象来访问 unicode 块中的数学字母数字符号,如https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols上所述

要使用它,我会这样做:

[出去]:

该代码按预期工作,但要涵盖所有数学字母数字符号,我将不得不从script * fonts * style * case编号枚举所有开始和结束符号。的常数。

我的问题是:

  • 有没有更好的方法来创建所需的MathAlphanumeric对象?
  • 有没有办法避免初始化script * fonts * style * caseno. 常数,为了MathAlphanumeric.charset()按预期工作?
  • 某些 unicode.org 相关库中是否提供了类似的对象或函数?
0 投票
1 回答
70 浏览

postgresql - 需要一些关于 LC_COLLATE 和 LC_CTYPE 的说明

我已经阅读了官方的 postgres 文档以了解 LC_COLLATE 和 LC_TYPE。但是,我仍然没有正确理解它。

任何人都可以帮助我理解这些概念和这些概念的影响,特别是当我们尝试加载编码 WE8ISO8859P15 的 oracle 和 postgres 编码为 utf-8 且 collat​​ion/ctype 为 en_US.UTF-8 的数据时。

提前致谢

0 投票
1 回答
66 浏览

java - 我们应该在java中使用什么编码来读取US7ASCII编码的文件

我正在尝试使用以下代码使用 java 解析 US7ASCII 文件:

在第 2 行,第二个参数是我需要传递字符集名称的字符集名称。

Java 支持的字符集在以下链接中提供: https ://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html

在那里我找不到任何 US7ASCII 条目。有人可以帮我确定我应该为 US7ASCII 编码文件传递什么字符集名称。

0 投票
0 回答
27 浏览

character-encoding - 使用Datastage,Sql server的法语字符编码问题

我正在使用数据阶段从 Microsoft SQL 服务器中提取数据,其中有一列包含 XML 数据,在该 XML 中有一列包含法语字符,在 XMl 中编码法语字符存在问题.

我正在使用 datastage、Microsoft Sql server 并提取数据并尝试将数据存储在 oracle 或 sql server 中。

我们有什么办法可以解决这个问题吗?我尝试在变压器阶段应用,不同阶段。

0 投票
0 回答
19 浏览

mysql - 为什么“character_set_connection”会影响插入结果?

我将列字符集更改为 utf8mb4 以支持表情符号,但是当 character_set_connection/character_set_client 设置为 utf8 时,插入数据返回“第 1 行的列 xxx 的字符串值 xxx 不正确”。在我也将 character_set_connection/character_set_client 设置为 utf8mb4 之前,我无法成功插入数据。我认为上面的参数是用来和mysql客户端通信的,当服务器成功接收到语句时,它们已经传输到了utf8(否则这里应该会出错),在将utf8编码的数据插入到utf8mb4编码的列时,不应该有有任何错误。那么,这里为什么会出现错误呢?

0 投票
2 回答
46 浏览

mysql - MySQL CHAR_LENGTH(str) 在与不同的字符集引入器一起使用时,有时会为相同的字符串文字产生不同的输出

这很奇怪。根据 MySQL 开发者网站 -

MySQL CHAR_LENGTH(str)

返回字符串 str 的长度,以字符为单位。多字节字符计为单个字符。这意味着对于包含五个 2 字节字符的字符串,LENGTH() 返回 10,而 CHAR_LENGTH() 返回 5。

这显然意味着 CHAR_LENGTH(str) 的输出与字符集无关。

现在如给出 -

字符串文字字符集和排序规则

我可以使用介绍器来设置字符串的 SET CHARACTER SET,如 -

选择“ABC”;
选择_latin1'abc';
选择 _binary'abc';
选择 _utf8mb4'abc' 整理 utf8mb4_danish_ci;

就我而言,我采用字符串文字“Hello”,使用介绍器将其设置为 CHARACTER SET,并将其用作 MySQL CHAR_LENGTH(str) 函数的参数。但奇怪的是,当使用不同的字符集时,它有时会产生不同的输出。例子 -

这里,“你好”有 5 个字符。CHARACTER SETS _utf8mb4 和 _latin1 正确显示字符数。但是 CHARACTER SET _ucs2 奇怪地将数字 0f 字符显示为 3。

这是怎么回事?

0 投票
0 回答
25 浏览

mysql - MySQL 字符集 CLI 和 Workbench 显示不同的结果

在此处输入图像描述

问:MySQL CLI 命令行显示的字符集和我的 MySQL 工作台显示不同的结果。这是为什么?

我遇到了 MySQL 'chcp' 错误并且在更新我的 MySQL 工作台后无法查看我的服务器状态,当前版本是 8.0.27。所以在搜索了一些谷歌之后发现它是处理其他非英语语言的 MySQL Workbench 错误,我发现了一些解决方案,这些解决方案是系统变量路径包括 System32 和 MySQL bin 文件夹,它们很好地包含在我的系统路径变量中. 其他解决方案是将我的系统语言更改为英语,或者检查在我的系统区域设置中使用 UTF-8。但是第一个解决方案对我使用计算机非常不方便,而第二个解决方案使我的控制台应用程序无法处理非英文字符。我找到的最终解决方案是更改 C:\Program Files\MySQL\MySQL Workbench 8.0\workbench\os_utils.py 内部代码

process = subprocess.Popen(command, stdin = subprocess.PIPE, encoding="utf-8", stdout = subprocess.PIPE, stderr = subprocess.STDOUT, shell=True)

从 utf-8 到其他代码页。但我担心这会发生其他内部错误,所以我还没有尝试过。

问:这个“chcp”错误有什么替代解决方案吗?除了降级工作台?

在此处输入图像描述

0 投票
0 回答
51 浏览

c++ - 为什么Degrees-symbol°不在Mac OS机器上打印,但在Windows 10上打印正常

我有一个简短的 C++ 程序来计算给定温度和风速的风寒指数。它在 Windows 10 机器上运行良好,并且完全按照应有的方式输出。要打印度数符号 ° 我正在使用static_cast<unsigned char>(248).
但是,我在 MAC 上得到了不同的结果。我认为这是因为两台机器之间的字符集编码不同。我怎样才能解决这个问题,以确保度数符号°将打印在两者上?

这是输出的代码行和屏幕打印

Windows 上的输出: 在此处输入图像描述 Windows 上的输出

但是,相同的代码在 Macbook/MAC OS 上返回“\370”,这是不正确的。在此处查看输出:

在此处输入图像描述 Mac OS 上的输出