标签: character-set

为 MySQL 数据库设置默认字符集/排序规则

我有一个曾经是 latin1 的 MySQL 数据库,我将所有表中的所有列都更改为 utf8。但是,我显然没有做我必须做的所有事情,因为我刚刚发现我疯狂地混合了拉丁语和 utf8。基本上,任何新表和列都是不同的。

有没有办法设置数据库的默认字符集和排序规则,以便当我向该数据库添加新表时它们是 utf8?

mysql collation character-set

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

PostgreSQL 9.x 中的排序规则和代码集

在 Windows 7 中,"English_United States.1252"当我在安装程序中选择“英语,美国”区域设置时,排序规则设置为。在 Linux 中,排序规则"en_US.UTF-8"默认设置为。

我还没有找到任何方法在 Windows 中将排序规则的代码集设置为 UTF-8,所以我只是想知道在这些示例情况下数据库的行为是否会有所不同?或者一般来说,排序规则的代码集部分的影响是什么?

我在两个数据库中都将编码设置为 UTF-8,问题是排序规则代码集的差异是否会导致行为差异。

postgresql collation character-set

5
推荐指数
1
解决办法
5127
查看次数

WE8DEC 是什么意思?

它是常用的字符集之一。它代表什么?

它是某事的首字母缩写词吗?

oracle oracle-11g-r2 character-set

4
推荐指数
1
解决办法
5672
查看次数

整理错误字符的问题

嗯,这个问题是众所周知的,但如果有的话,我正在寻找一个更聪明的解决方案。

出于某种原因,系统无法识别某些字符,我无法比较列

在此处输入图片说明

下面是一个文本示例:

ASPIRADOR ULTRASSONICO-LOCAÇAO (NOTA FISCAL SERVIÇO)

错误的

ASPIRADOR ULTRASSONICO-LOCA€AO (NOTA FISCAL SERVI€O)

其实我是通过这个功能来解决这个问题的

create function fixcollation(@ps_Texto VARCHAR(4000)) returns VARCHAR(4000) 

as 

begin  

    declare @vlgsv1itu INT declare @nxn68ezzi INT declare @dw17rsyva  VARCHAR(50) declare @iw8a2z01i VARCHAR(50) declare @t64e98xq6 VARCHAR(50) declare @zwjs2imy3 INT declare @jsyt85sy8 VARCHAR(4000)  

    ---------------------------------------------------- 

    set @dw17rsyva = ' …ƃ„µ·Ç¶Ž‚Šˆ‰ÔÒÓ¡‹ÖÞØ¢•ä“”àãå♣—–éëꚇ€§' 
    set @iw8a2z01i = 'áàãâäÁÀÃÂÄéèêëÈÉÊËíìïÍÌÏóòõôöÓÒÕÔÖúùûüÚÙÛÜçǺØ' 
    set @jsyt85sy8 = @ps_Texto set @zwjs2imy3 = IsNull(datalength(@ps_Texto), 0) 
    set @nxn68ezzi = 1 
    while(@nxn68ezzi <= IsNull(datalength( @ps_Texto), 0)) 

    begin 

        set @vlgsv1itu = 1 

        while(@vlgsv1itu <= …
Run Code Online (Sandbox Code Playgroud)

sql-server collation t-sql character-set encoding

4
推荐指数
1
解决办法
1431
查看次数

仅使用 ASCII 字符时,MySQL 8 ASCII 与 utf8mb4_0900_ai_ci 大小是否不同?

如果我只使用 ASCII 字符,磁盘上的VARCHAR (255)withutf8mb4_0900_ai_ci会比VARCHAR (255)使用 ASCII 大吗?

mysql collation character-set encoding mysql-8.0

4
推荐指数
1
解决办法
360
查看次数

在 SQL Server 中存储特殊字符(德语、法语、西班牙语)会导致奇怪的字符串

我试图将德语 \xc3\x9f 存储在 SQL Server 中,但结果是 \xc3\x83\xc5\xb8。\n例如“Gleimstra\xc3\x9fe”存储为“Gleimstra\xc3\x83\” xc5\xb8e"

\n

但其他角色也会发生这种情况:

\n
    \n
  • “K\xc3\xb6nig-Karl-Stra\xc2\xad\xc3\x9fe”存储为“K\xc3\x83\xc2\xb6nig-Karl-Stra\xc3\x83\xc5\xb8e”
  • \n
  • “Quai Andr\xc3\xa9-Citro\xc3\xabn”存储为“Quai Andr\xc3\x83\xc2\xa9 Citro\xc3\x83\xc2\xabn”
  • \n
  • “Carrer dels Adre\xc3\xa7adors 存储为“Carrer dels Adre\xc3\x83\xc2\xa7adors”
  • \n
\n

我查看了数据库排序规则,它显示SQL_Latin1_General_CP1_CI_AS。然后我用谷歌搜索并找到了这个

\n

但我不知道我现有的排序规则是否导致了问题,或者我需要做什么才能存储 \xc3\xb6、\xc3\x9f、\xc3\xa9、\xc3\xab、\ 等特殊字符xc3\xa7、\xc3\xb1、\xc3\xad。

\n

更新1

\n

事实上,我将字符串存储在一nvarchar列中。我通过 .NET 应用程序将数据发送到数据库。这是我在 web.config 中作为连接字符串的内容:
\n<add name="conn" connectionString="data source=(local)\\sql;Initial Catalog=mydb;User Id=myuser;Password=mypassword;" providerName="System.Data.SqlClient"/>

\n

更新2

\n

我从 JSON 文件中读取值,并将其传递给 a Newtonsoft.Json.Linq.JArray,然后将其传递给函数,如下所示:

\n
    InsertStreetId(item.SelectToken("location.street").Value(Of String))\n\n\n  Public Shared Function InsertStreetId(ByVal street As String) As Integer\n        Dim streetId As Integer\n\n        Dim …
Run Code Online (Sandbox Code Playgroud)

collation character-set utf-8 json sql-server-2019

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

MySql 命令行西里尔文 Iinsert 结果已损坏

有腻子连接。
Putty 配置:
窗口-->翻译-->远程字符集-->utf-8
启动命令行MySQL客户端。
使用西里尔字母执行插入,例如:

CREATE TABLE `category` (
  `catName` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`catName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into category(catName) values ('????????');
Run Code Online (Sandbox Code Playgroud)

结果是损坏的西里尔文符号插入到 DB 中。

mysql command-line character-set

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

字符集数据库迁移

这是我之前发布的帖子的后续问题。我们正在迁移到新的字符集。现在,我是一名程序员,我们有 DBA 将执行这项工作,但我想获得有关该过程的更多信息。我们当前的字符集是 WE8ISO8859P1 并使用 BYTE 字符语义。但是,我们正在迁移到 AL32UTF8。使用 BYTE 语义创建了一个包含 AL32UTF8 字符集的新数据库。DBA 在一些表上运行了一个脚本来检查是否有任何问题(我相信是 CSALTER)。运行脚本后,它说我们表中的某些行将被截断。该表包含一个设置为 4000 BYTES 的 VARCHAR2(BYTE) 列。导致潜在问题的行都包含特殊字符。我的问题是,我们如何在不截断信息的情况下导出/导入数据库中的表?为什么说它会被截断?我的第一个想法是,由于我们更改了字符集,它可能会存储旧数据库表中的某些字符,而不是将其存储到新数据库中时,字符集会占用更多存储空间。

oracle migration character-set

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

CONVERT() 在 Oracle 中返回带有 CLOB 的垃圾

我希望修复 Oracle 中的数据表,理想情况下是通过非特权 SQL,该 SQL 已将 UTF-8 数据插入到 UTF-8 数据库中,错误地使用了 Latin-1 字符集。

该符号? GREEK SMALL LETTER BETA应该已进入数据库,但两个字符β已进入......因为两个 UTF-8 字符 Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX后跟² SUPERSCRIPT TWO.

此示例代码演示了问题和修复方法,但它仅适用于VARCHAR列。一旦CLOB使用了a ,转换就会失败:

-- This must return AL32UTF8 for this example to be valid
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

CREATE TABLE EXAMPLE (T VARCHAR2(20));
INSERT INTO EXAMPLE (T) VALUES ('Example β');
SELECT T FROM EXAMPLE; -- Should return 'Example β'
SELECT …
Run Code Online (Sandbox Code Playgroud)

oracle character-set utf-8

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

MySQL 的最佳通用字符集和排序规则

目前,每当我创建一个新的 MySQL 数据库时,我都会使用 utf8mb4 作为字符集并使用 utf8mb4_unicode_520_ci 作为排序规则,例如:

CREATE DATABASE IF NOT EXISTS db_name
    DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
Run Code Online (Sandbox Code Playgroud)

是否有更新/升级的 MySQL 通用排序规则或字符集?

例如,如果有一个排序规则取代了 utf8mb4_unicode_520_ci,比如 utf8mb4_unicode_800_ci 或类似的东西?

谢谢你的帮助。

mysql database-design collation character-set

3
推荐指数
2
解决办法
329
查看次数