在utf8_general_ci和之间utf8_unicode_ci,性能方面有什么不同吗?
在字符集之间转换文本文件的最快,最简单的工具或方法是什么?
具体来说,我需要从UTF-8转换为ISO-8859-15,反之亦然.
一切顺利:您最喜欢的脚本语言的单行,命令行工具或OS,网站等的其他实用程序.
在Linux/UNIX/OS X/cygwin上:
Troels Arvin建议的Gnu iconv最适合用作过滤器.它似乎普遍可用.例:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Run Code Online (Sandbox Code Playgroud)
由Cheekysoft建议的Gnu 重新编码(手动)将就地转换一个或多个文件.例:
$ recode UTF8..ISO-8859-15 in.txt
Run Code Online (Sandbox Code Playgroud)
这个使用较短的别名:
$ recode utf8..l9 in.txt
Run Code Online (Sandbox Code Playgroud)
Recode还支持可用于在不同行结束类型和编码之间进行转换的曲面:
将换行符从LF(Unix)转换为CR-LF(DOS):
$ recode ../CR-LF in.txt
Run Code Online (Sandbox Code Playgroud)
Base64编码文件:
$ recode ../Base64 in.txt
Run Code Online (Sandbox Code Playgroud)
你也可以将它们结合起来.
将带有Unix行尾的Base64编码的UTF8文件转换为带有Dos行结尾的Base64编码的Latin 1文件:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Run Code Online (Sandbox Code Playgroud)在带有Powershell的 Windows上(Jay Bazuzi):
PS C:\> gc -en utf8 …
我可以阅读MySQL文档,它非常清楚.但是,如何决定使用哪个字符集?整理有哪些数据会产生影响?
我要求解释这两个以及如何选择它们.
我对visual studio中的"字符集"选项有疑问.
字符集
- 未设置
- 使用Unicode字符集
- 使用多字节字符集
我想知道"字符集"中三个选项之间的区别.
而且,如果我选择其中的某些内容,则会影响对英语以外语言的支持.(比如RTL语言).
在SQL Server中创建表时如何设置字段的默认字符集?在MySQL中,我们这样做:
CREATE TABLE tableName (
name VARCHAR(128) CHARACTER SET utf8
) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)
请注意,我在这里设置了两次字符集.这是多余的,我添加了两种方式来演示.
我还设置了排序规则,以证明排序规则是不同的.我不是要求设置整理.大多数 关于SQL Server中的字符集和编码的问题都通过整理来回答,这不是一回事.
我的问题基本上与THIS ONE相反(它有一个基于数据库的解决方案,我不能在这里使用)。
我使用 SAP,它以这种方式对字符进行排序:
0-9, AZ, _
但我正在将数据下载到 Excel 并根据正确的 SAP 字符集排序顺序操作范围。
如何强制 Excel 以与 SAP 相同的方式排序,下划线排在最后。
在 Excel 的排序功能中尝试自定义单个字符的排序列表后,Excel 仍然/总是这样排序:
_, 0-9, AZ
有没有办法让 Excel 像 SAP 一样排序?如果需要,我可以执行 Excel 宏。
或者,如果有人知道如何让本机 SAP 表像 SAP 界面中的 Excel 一样排序,那也可以解决这个问题。
我已经阅读了 postgres 官方文档来了解 LC_COLLATE 和 LC_TYPE。但是,我仍然没有正确理解它。
任何人都可以帮助我理解这些概念及其影响,特别是当我们尝试加载 oracle 编码为 WE8ISO8859P15 且 postgres 编码为 utf-8 且排序规则/ctype 为 en_US.UTF-8 的数据时。
提前致谢
似乎对大多数字段使用ASCII字符集,然后仅为需要它的字段指定utf8将减少数据库必须执行的I/O量100%.
谁知道这是真的吗?
更新:以上不是我的问题.我应该说:使用Latin作为默认字符集,然后仅为需要它的字段指定utf8mb4.想法是:使用1个字节对2个字节应该将I/O提高100%.对困惑感到抱歉.
我想确定是否使用
PrintWriter pw = new PrintWriter(outputFilename, "ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)
要么
PrintWriter pw = new PrintWriter(outputFilename, "US-ASCII");
Run Code Online (Sandbox Code Playgroud)
我正在阅读所有有关字符集的内容,以确定我必须通过java代码以相同编码创建的示例文件的字符集.
当我的示例文件包含"欧洲"字母(挪威语:åøæ)时,以下命令告诉我文件编码为"iso-8859-1"
file -bi example.txt
Run Code Online (Sandbox Code Playgroud)
但是,当我获取同一个示例文件的副本并修改它以包含不同的数据时,没有任何挪威文本(假设我将"Bjørn"替换为"Bjorn"),那么相同的命令告诉我文件编码是" US-ASCII".
file -bi example-no-european-letters.txt
Run Code Online (Sandbox Code Playgroud)
这是什么意思?如果没有"欧洲"字符,ISO-8859-1在实践中是否与US-ASCII相同?
我应该只使用charset"ISO-8559-1",一切都会好吗?
character-set ×10
mysql ×3
collation ×2
unicode ×2
utf-8 ×2
ascii ×1
database ×1
excel ×1
iso-8859-1 ×1
java ×1
mariadb ×1
oracle ×1
postgresql ×1
sap ×1
sql-server ×1
text ×1
utf8mb4 ×1
vb.net ×1
vba ×1