标签: utf-8

确保 MySQL 数据库完全采用 UTF8 的最佳方法

在 UTF8 和非 UTF8 字符串出现一些问题后,我们正在对 UTF8 进行标准化。我需要做的一件事是检查 MySQL 数据库中的所有内容是否都在 UTF8 中?我需要检查什么?

  • 服务器默认字符集
  • 每个数据库的默认字符集
  • 每个文本列都有字符集吗?我该如何检查?

我正在考虑将所有这些放在 nagios 插件中以检查所有内容是否都在 UTF8 中。建议?

mysql database charset utf-8 unicode

8
推荐指数
1
解决办法
4982
查看次数

UTF-8 和 !# shell 脚本

有没有办法在 Linux(红帽和 ubuntu)上配置 bash 以允许 shell 脚本以 UTF-8 编码?

我找不到一种简单的方法来改变一件小事,让整个系统只使用 UTF-8 文件而不必担心编码。

unix configuration bash utf-8

7
推荐指数
1
解决办法
5781
查看次数

Debian,如何将文件系统从 ISO-8859-1 转换为 UTF-8?

我有一台运行 Debian 稳定版的旧电脑,需要升级。问题是它对所有东西都使用 latin1 (ISO-8859-1),而且由于世界其他地方已经转移到 UTF-8,我也计划转换这台计算机。

对于这个问题,我将重点关注与 Samba 一起提供的文件,有些文件名中包含一些 latin1 字符(如 åäö)。

现在我的计划是将这台旧计算机的所有数据移到一台运行 Debian stable(但使用 UTF-8)的全新计算机上。

有人有什么好主意吗?


注意:稍后我计划使用iconv以下内容来转换某些文件的内容:

iconv --from-code=ISO-8859-1 --to-code=UTF-8 iso.txt > utf.txt
Run Code Online (Sandbox Code Playgroud)

但是我不知道自己转换文件系统的好方法。

注意:通常我通常只是scp从一台计算机到另一台计算机,但后来我在 utf-8 文件系统中得到了 latin1 字符。


更新:用文件名中的文件(带有有趣的字符)进行了一次小型测试,这似乎可以工作。

convmv -r -f ISO-8859-1 -t UTF-8  *
Run Code Online (Sandbox Code Playgroud)

注意-r=递归;-f/ -t= 从/到。

所以它只是执行 --notest

convmv -r -f ISO-8859-1 -t UTF-8 --notest *
Run Code Online (Sandbox Code Playgroud)

没有更多了。

filesystems debian utf-8

7
推荐指数
2
解决办法
2万
查看次数

在 oracle 数据库中使用 UTF8 有什么缺点吗?

我们正在安装订购配置的 oracle 数据库,他们问我们想要什么字符编码。该应用程序(Java)仅提供英文版本,但用户来自世界各地。

不使用 UTF8 或其他 unicode 字符集是否有任何动机?

oracle charset utf-8 oracle-11g

7
推荐指数
2
解决办法
7039
查看次数

Linux 不解释 UTF8 编码的字符

因此,Adán-y-Eva-50x50.jpg当我尝试访问以下文件时,apacheAd\xc3\xa1n-y-Eva-50x50.jpg会将其转换为并找不到它,即使它存在。

这仅适用于包含 UTF8 字符的文件名。

我已经有以下配置 /etc/httpd/conf/httpd.conf

...
AddDefaultCharset UTF-8
...
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable +Charset=UTF-8
...
Run Code Online (Sandbox Code Playgroud)

.htaccess在第一行将其添加到我的根目录中:

IndexOptions +Charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

所有这些都无法加载此类文件。有什么建议?

更新

顺便提一下:我在 CentOS 服务器上运行网站,并预配置了 plesk 面板

linux centos utf-8 encoding apache-2.2

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

如何使用伪字符集 UTF8-MAC 在 Linux (Ubuntu 14.04 LTS) 上重新编译 iconv?

我在谷歌上搜索了几个小时来为我的问题找到解决方案,但我无法让它工作:

我必须将 ext4 格式驱动器上的文件结构 rsync 到 hfs+ 格式驱动器。文件夹和文件名可以包含德语元音变音 (äöüß),并且 OS X 和 Linux 对 UTF8 的处理不同。OS X 文件系统使用 Unicode Normalization Form D (NFD),而 Linux 使用 Form C (NFC)。

这种行为会导致删除和重新同步名称中带有变音符号的文件,这会产生大量不必要的开销,尤其是当您使用该--backup选项进行rsync 时。

防止这种行为的解决方案是使用,--iconv=UTF8,UTF8-MAC但这仅适用于 Mac 上较新的iconvlib。Ubuntu 14.04 上的实际 iconvlib 不支持伪字符集 UTF8-MAC:


root@ubuntu:~/wartung# iconv -l
...
UTF-7, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF7, UTF8, UTF16, UTF16BE, UTF16LE, UTF32, UTF32BE, UTF32LE, ...
Run Code Online (Sandbox Code Playgroud)

使用自制软件的最新 rsync 的 OS X 做到这一点:


bash-3.2$ iconv -l
ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 …
Run Code Online (Sandbox Code Playgroud)

ubuntu rsync mac-osx utf-8

7
推荐指数
0
解决办法
881
查看次数

自动索引在 Nginx 中列出 UTF-8 字符集

我的 nginx 自动索引页面没有正确显示 UTF-8 字符, utf-8 问题

我已经charset utf-8;nginx.conf文件的服务器块配置部分设置了,但这似乎并没有解决问题。

nginx charset utf-8

7
推荐指数
1
解决办法
2810
查看次数

在 /etc/passwd 文件中使用 UTF-8。任何已知问题?

我最近被要求为某个用户修改 passwd 文件中的 GECOS 字段,以便它包含他的名字和他原来的重音字符。我的第一反应是“当然,为什么不呢?” 但后来我开始怀疑肯定会有一个 *nix 实用程序由于 UTF-8 字符而无法解析 passwd 文件。

所以我的问题是,你有没有遇到过在 passwd 文件中使用 UTF-8 的问题?或者你知道吗?

我的语言环境在所有盒子上都设置为 UTF-8。( $LANG=en_US.UTF-8 )

谢谢!

users utf-8 passwd

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

是否有任何支持 SMTPUTF8 扩展的 SMTP 服务器?

RFC 5321 将电子邮件地址限制为 7 位 US-ASCII 编码。RFC 6531(一个相当新的规范)允许 SMTP 命令和 IMF 标头中的电子邮件地址以 UTF-8 编码。这个 SMTP 扩展使得国际化的电子邮件地址(例如,pelé@example.com)成为可能。

SMTP 服务器通过EHLO使用SMTPUTF8关键字回复命令来宣传对国际化电子邮件的支持:

250-smtp.example.com at your service
250 SMTPUTF8
Run Code Online (Sandbox Code Playgroud)

SMTP 客户端通过以下MAIL命令使用此扩展:

MAIL FROM:<pelé@example.com> SMTPUTF8 
Run Code Online (Sandbox Code Playgroud)

问:是否有支持 SMTPUTF8 的 SMTP 服务器或电子邮件客户端?

email email-server smtp utf-8

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

en_US.utf8 和 en_US.UTF-8 之间有区别吗?

服务器信息(删除了 DNS 和 IP):

cat /proc/version && uname -a && java -version

Linux version 2.6.16.33-xenU (*************) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #2 SMP Wed Aug 15 17:27:36 SAST 2007
Linux ************* *************-xenU #2 SMP Wed Aug 15 17:27:36 SAST 2007 x86_64 x86_64 x86_64 GNU/Linux
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我有一些 PHP 代码正在读取 Excel 文件并进行字符串比较。由于似乎是语言环境问题,它在服务器上失败。然而,在我的本地机器(OSX 10.8.5 Mountain Lion)上,它可以工作!

在我的本地机器上,语言环境是 en_US.UTF-8。在服务器上,语言环境是 POSIX,但我将其更改为 en_US.utf8,因为当我查看locale -a时没有 en_US.UTF-8 …

php localization charset utf-8 encoding

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