草庐IT

unicode_normalize

全部标签

MySQL:将排序规则从 utf8_bin 更改为 utf8_unicode_ce

给定一个完整的表,我如何将排序规则从utf8_bin更改为utf8_unicode_ce?由于“重复输入错误”,正常的“更改”查询不起作用。例如有两个条目DavidHussa和DavidHußa我知道他们是一样的。有没有一种优雅的方式告诉MySQL“合并”这些条目?我应该提一下,条目的id在其他表中用作引用,因此MySQL也必须遵守这一点。或者我是否必须以冗长而烦人的方式执行此操作:意味着手动合并每个重复项,然后更改排序规则?表格如下所示:delimiter$$CREATETABLE`authors`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`var

C# 与 MySql 和 Unicode 字符

我的问题是在使用C#和MySQL数据库通过发送参数来保存一些记录时。虽然我已经将字符集设置为Utf-8并且我可以正确地看到unicode字符,但我在尝试插入unicode字符时遇到的问题是它只保存了一半的字符串。真正奇怪的是,这种情况只发生在unicode字符串(如希腊语单词)上,并且仅在我发送带参数的查询时发生。即。如果我在C#中看到的查询是:stringquery="INSERTINTOtablenameVALUES(NULL,@somestring)";然后我将@somestring参数值设置为“TESTING”。这会工作得很好。如果我尝试将值设置为unicode字符串“ΤΕΣΤ

将数据传递到2字节Unicode MSSQL数据库

我有一个基于PHP和PostgreSQL(基于Laravel)的Web应用程序。Web应用PostgreSQL数据库使用UTF-8编码。在某一时刻,我必须将数据传递给另一个服务器上托管的外部MSSQLServer数据库。但是,它起作用的是,MSSQLServer数据库中的文本数据部分混乱和不可读,尤其是在涉及特殊字符的情况下。MSSQLServerSysadmin告诉我,它使用2字节Unicode编码。我想我应该相应转换。问题-在将数据写入MSSQLServer数据库之前,如何正确使用此编码和编码数据?看答案在玩了各种编码转换之后,我终于找到了一个对我有用的方法:iconv('UTF-8','

php - unicode和丹麦语之间的utf8排序规则区别

你好。我正在将数据库的字符集从latin1_sweedish_ci更改为utf8。我一直使用utf8_danish_ci因为它最接近挪威字符样式-我认为。但是utf8_general_ci和utf8_unicode_ci呢?前段时间;首选使用_general_ci以获得更好/更快的性能,使用_unicode_ci以获得更高的准确性,因为后者的排序算法更复杂。但由于速度/性能不再是问题-或者在大多数情况下不再是问题-_unicode_ci在大多数情况下都可以使用吗?但是_unicode_ci与_danish_ci有何不同?是否考虑了北欧字母表中的最后三个字母æ、ø、å?我能找到的大多数比

mysql - Perl 字符串操作和 utf8/unicode

在人们开始将包含utf8字符的Wikipedia文本字符串复制并粘贴到输入字段之前,我有我认为将成为一个简单的Web表单的东西。我的perlCGI脚本打开一个MySQL数据库连接并设置$DBH->{mysql_enable_utf8}=1;$DBH->do("setnames'utf8';");我正在尝试使用Encode模块对目标输入值进行解码、使用和编码,但这并没有像我预期的那样工作。网页设置为utf8字符集。在这种情况下,我的目标字符串是Baden-Württemberg[从列出德国城镇名称的维基百科页面复制]。发送请求后,我可以看到目标字符串为:Baden-W%C3%BCrtte

mysql - 命令行 MySQL 中的 Unicode 转义序列

简短版:在命令行mysql中可以使用什么样的转义序列来搜索unicode字符?长版:我正在寻找一种方法来从命令行在mysql中搜索包含unicode序列U+200B的记录的列。我不知道要使用哪种逃生方式。我试过\u200B和x200B甚至我终于找到了一个建议使用_utf8语法的博客。这将在命令行上生成字符:select_utf8x'200B';现在我一直在尝试让它在“LIKE”查询中工作。这会生成字符,但是%放在LIKE部分时似乎失去了它们的特殊含义:select_utf8x'0025200B0025';我也尝试了一个concat,但它也没有用:selectconcat('%',_ut

python - 如何以人类可读的方式打印 MySQLdb unicode 结果

这是python程序员的一道题。有人知道如何以人类可读的方式打印MySQLdb查询结果吗?类似于mysqlshell打印的表的东西会很棒。类似于:+-----+---------------------+-----------+|id|now()|aaa|+-----+---------------------+-----------+|28|2012-03-0114:24:02|sometext||77|2012-03-0114:24:02|sometext||89|2012-03-0114:24:02|sometext||114|2012-03-0114:24:02|sometex

Mysql order by on column with unicode characters

我在mysql表上运行一个选择查询,并试图按表中的“名称”列对其进行排序。name列包含英文字符名称和带有拉丁字符的名称,如â.我遇到了以下问题。我运行的查询返回按以下方式排序的结果,即例如:如果名称包含“archer”、“aaakash”、“âhayden”、“bourne”、“jason”查询返回的结果排序如下“aaakash”、“archer”、“âhayden”、“bourne”、“jason”但是我想根据unicode代码点(如下所示)对其进行排序“aaakash”、“archer”、“bourne”、“jason”、“âhayden”(查看âhayden在命令中位置的不同)

python - 在 Python 中为 MySQL 转义 unicode 字符串(避免异常。UnicodeEncodeError)

我正在使用Twisted在Python中异步访问我们的数据库。我的代码如下所示:fromtwisted.enterpriseimportadbapifromMySQLdbimport_mysqlasmysql...txn.execute("""INSERTINTOusers_accounts_data_snapshots(accountid,programid,fieldid,value,timestamp,jobid)VALUES('%s','%s','%s','%s','%s','%s')"""%(accountid,programid,record,mysql.escape_st

php - mysql 列的最大长度并确保我不会使用 utf8_unicode_ci - PHP 超过该限制?

我在mysql中使用一个TEXT列,它是ut8_unicode_ci来存储一些从互联网上抓取的数据。收集的文本来自不同语言的不同网站。我对TEXT列的最大65535字节长度感到困惑。如何检查我插入到列中的字符串是否超过该限制?此时我正在使用strlen($str)检查字符串的长度,但是通过使用它可以确保数据不会被截断以适合列据我了解utf8_unicode_ci每个字符可以超过1个字节? 最佳答案 编辑:OP可以简单地使用strlen(),因为它返回字节,而不是字符。证人:$cattest.php#!/usr/bin/php-q$.