Questions tagged «utf-8»


1
从Postgres查询非ASCII行
是否[:ascii:]在所有的Postgres类的工作?在他们的帮助中没有列出它,但是我在网络上看到一些利用它的示例。 我有一个UTF-8数据库,其中归类和c_typ e是en_US.UTF-8,而Postgres版本是9.6.2。当我搜索这样的非ASCII行时: select title from wallabag_entry where title ~ '[^[:ascii:]]'; 我同时获得了 Unicode和非Unicode符号(完整的输出在): Сталинская правозащитница: мать Меленкова бабушка Настя Дневник НКВДиста Шабалина: Знает ли Москва положение на фронте? Бег по городу и поездка на осле: как в средневековье наказывали прелюбодеев Как комиссар Крекшин в 1740-е чуть не отменил историю России …

1
为什么默认的character_set_server是latin1?
我正在使用MySQL 5.5,当我显示有关字符集的变量时,我有 +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ …

2
将character_set_client的值设置为utf8mb4
我正在尝试将我的数据库转换为utf8mb4遵循本指南。我已经设定: [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init-connect='SET NAMES utf8mb4' collation_server=utf8mb4_unicode_ci character_set_server=utf8mb4 skip-character-set-client-handshake 但价值character_set_client并character_set_results仍然不会改变utf8mb4。 mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+--------------------+ | Variable_name | Value | +--------------------------+--------------------+ | character_set_client | utf8 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary …
12 mysql  collation  utf-8 

2
何时将nvarchar / nchar与SQL Server 2019一起使用?
在SQL Server 2019中,Microsoft引入了对和数据类型的UTF-8支持,并说:CHARVARCHAR 根据使用的字符集,此功能可以节省大量存储空间。例如,使用启用了UTF-8的排序规则将具有ASCII字符串的现有列数据类型从NCHAR(10)更改为CHAR(10),可将存储需求减少近50%。这种减少是因为NCHAR(10)需要22个字节来存储,而CHAR(10)对于相同的Unicode字符串则需要12个字节。 UTF-8似乎支持每个脚本,因此基本上我们可以开始在varchar和char列中存储Unicode数据。就像文档中所说的那样,这可以减少表和索引的大小,并且由于读取的数据量更少,因此可以得到更好的性能。 我想知道这是不是意味着我们可以停止使用nvarchar和nchar列,它实现UTF-16? 谁能指出一个方案和理由,不使用带UTF编码的char数据类型并继续使用n-chars类型?

1
在Python中检索到的SQL Server VARCHAR列的编码问题
最近,我们遇到了与字段相关的编码问题,该字段在SQL Server中存储为varchar(120)。在SSMS中,varchar显示为: “谁杀了乔本?” 但是,将其引入python后,显示为: 我已经从Python方面对此进行了研究,并且没有任何奇怪的事情发生。我的理论是,SQL Server中的varchar接受的是UTF-8字符,这些字符在python中的显示方式不同于SSMS。我对SQL Server中的编码不是很熟悉。有人可以让我知道以下内容: SSMS中有没有办法查看varchar的编码?例如,看到\ x82而不是显示当前来自SSMS的逗号? 我们正在使用SQL Server2008。是否可以在不使用导入/导出工具或转储到平面文件的情况下,将任何UTF-8字符的编码更改为ASCII字符?即可以通过查询进行此转换吗? 有什么方法可以通过查询以编程方式识别有问题的记录(问题定义为ASCII不支持的UTF-8字符)? 先感谢您! 使用,sp_help N'table_name';我发现此VARCHAR列的归类为SQL_Latin1_General_CP1_CI_AS。

2
为什么Oracle为补充unicode字符Chipmunk使用与Java不同的字节长度?
我有Java代码将UTF-8字符串修整为我的Oracle(11.2.0.4.0)列的大小,由于Java和Oracle将字符串视为不同的字节长度,最终引发了错误。我已经验证我NLS_CHARACTERSET在Oracle中的参数是“ UTF8”。 我编写了一个使用Unicode花栗鼠表情符号(🐿️)在下面说明我的问题的测试 public void test() throws UnsupportedEncodingException, SQLException { String squirrel = "\uD83D\uDC3F\uFE0F"; int squirrelByteLength = squirrel.getBytes("UTF-8").length; //this is 7 Connection connection = dataSource.getConnection(); connection.prepareStatement("drop table temp").execute(); connection.prepareStatement("create table temp (foo varchar2(" + String.valueOf(squirrelByteLength) + "))").execute(); PreparedStatement statement = connection.prepareStatement("insert into temp (foo) values (?)"); statement.setString(1, squirrel); statement.executeUpdate(); } …
8 oracle  java  utf-8  unicode 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.