问题标签 [utf-8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ 字符串:UTF-8 还是 16 位编码?
我仍在尝试决定我的(家庭)项目是否应该使用UTF-8字符串(根据 std::string 在必要时使用额外的 UTF-8 特定函数实现)或一些 16 位字符串(实现为 std: :wstring)。该项目是一种编程语言和环境(如 VB,它是两者的结合)。
有一些愿望/限制:
- 如果它可以在有限的硬件上运行,比如内存有限的计算机,那就太酷了。
- 我希望代码在 Windows、Mac 和(如果资源允许)Linux 上运行。
- 我将使用wxWidgets作为我的 GUI 层,但我希望与该工具包交互的代码限制在代码库的一个角落(我将拥有非 GUI 可执行文件)。
- 在处理用户可见文本和应用程序数据时,我想避免使用两种不同类型的字符串。
目前,我正在使用 std::string,目的是仅在必要时使用 UTF-8 操作函数。它需要更少的内存,并且似乎是许多应用程序的发展方向。
php - 将所有表和字段更改为 MYSQL 中的 utf-8-bin 排序规则的脚本
SQL
是否有PHP
我可以运行的脚本来更改数据库中所有表和字段中的默认排序规则?
我可以自己写一个,但我认为这应该是在这样的网站上很容易获得的东西。如果我能在有人发布之前自己想出一个,我会自己发布。
php - 在 PHP 中将 UTF-8 字符串转换为/从 7 位 XML
UTF-8 字符串(即 8 位字符串)如何与 XML 兼容的 7 位字符串(即带有数字实体的可打印 ASCII)相互转换?
即encode()
这样的函数:
decode()
也很有用:
PHP 的htmlenties()
/html_entity_decode()
对没有做正确的事情:
费力地指定类型会有所帮助,但仍会返回与 XML 不兼容的命名实体,而不是数字实体:
java - 一旦 UTF-8 编码,如何截断 java 字符串以适应给定的字节数?
我如何截断一个 java String
,以便我知道一旦它被 UTF-8 编码,它将适合给定数量的字节存储?
php - 如何对 UTF-8 字符串数组进行排序?
我目前不知道如何在 PHP 中对包含 UTF-8 编码字符串的数组进行排序。该数组来自 LDAP 服务器,因此通过数据库进行排序(没问题)不是解决方案。以下不适用于我的 Windows 开发机器(尽管我认为这至少应该是一个可能的解决方案):
输出是:
这完全是胡说八道。使用 1252 作为代码页setlocale()
给出了另一个输出,但仍然是一个明显错误的输出:
有没有办法使用 UTF-8 字符串区域设置对数组进行排序?
刚刚注意到这似乎是 Windows 上的 PHP 问题,因为与de_DE.utf8
used as locale 相同的片段在 Linux 机器上工作。尽管如此,这个Windows特定问题的解决方案会很好......
perl - 解码 UTF8 电子邮件标头
我有一个表单的电子邮件主题:
电子邮件的正文是 utf-8 base64 编码的 - 并且解码得很好。我目前正在使用 Perl 的 Email::MIME 模块来解码电子邮件。
=?utf-8 分隔符的含义是什么?如何从该字符串中提取信息?
pdf - PDF 中的 Unicode
我的程序根据要求生成相对简单的 PDF 文档,但是我遇到了 unicode 字符的问题,比如汉字或奇怪的数学符号。要在 PDF 中编写普通字符串,请将其放在括号中:
还可以选择使用八进制代码转义字符:
但这最多只能包含 512 个字符。你如何编码或转义更高的字符?我看过对字节流和十六进制编码字符串的引用,但我读过的所有引用似乎都不愿意告诉我如何实际去做。
编辑:或者,给我指出一个很好的 Java PDF 库,它将为我完成这项工作。我目前使用的是 gnujpdf 的一个版本(我已经修复了几个错误,因为原作者似乎已经离开了),它允许您针对 AWT 图形界面进行编程,理想情况下任何替换都应该这样做相同。
替代方案似乎是 HTML -> PDF,或基于段落和框的编程模型,感觉非常像 HTML。iText 是后者的一个例子。这意味着重写我现有的代码,我不相信他们会给我同样的布局灵活性。
编辑 2:我之前没有意识到,但是 iText 库有一个 Graphics2D API,并且似乎可以完美地处理 unicode,所以这就是我将要使用的。虽然这不是问题的答案,但它为我解决了问题。
编辑 3: iText 对我来说工作得很好。我想教训是,当面对看似毫无意义的困难时,寻找比你更了解它的人。
encoding - 如何更正文件的字符编码?
我有一个 ANSI 编码的文本文件,它不应该被编码为 ANSI,因为有 ANSI 不支持的重音字符。我宁愿使用 UTF-8。
数据可以正确解码还是在转码中丢失?
我可以使用哪些工具?
这是我所拥有的示例:
我可以从上下文中看出(café应该是cafe)这些应该是这两个字符:
c++ - 您如何编写对 UTF-8 安全的代码?
我们有一组为 ASCII 字符集开发的应用程序。现在,我们正试图在冰岛安装它,但遇到了冰岛字符被搞砸的问题。
我们正在解决我们的问题,但我想知道:是否有一个很好的“指南”来编写专为 8 位字符设计的 C++ 代码,并且在提供 UTF-8 数据时可以正常工作?
我不能指望每个人都阅读整个 Unicode 标准,但如果有更容易理解的内容,我想与团队分享,这样我们就不会再遇到这些问题了。
此时重写所有应用程序以使用 wchar_t 或其他字符串表示形式是不可行的。我还会注意到这些应用程序通过网络与使用 8 位字符的服务器和设备进行通信,因此即使我们在内部使用 Unicode,我们仍然会在边界处遇到翻译问题。在大多数情况下,这些应用程序只是传递数据。除了从一个地方复制到另一个地方之外,他们不会以任何方式“处理”文本。
使用的操作系统是 Windows 和 Linux。我们使用 std::string 和普通的 C 字符串。(不要让我为任何设计决定辩护。我只是想帮助解决这个烂摊子。)
以下是建议的清单: