问题标签 [multibyte]

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.

0 投票
3 回答
12919 浏览

php - 这些 PHP mbstring 设置有什么作用?

我试图弄清楚这些 php.ini 设置究竟做了什么。当它们设置为不同的值时会发生什么?什么时候需要?它们什么时候有害?

像往常一样,PHP 手册的帮助不大。

编辑:澄清一下,我了解字符编码是如何工作的,并且我了解 PHP 的多字节函数与它们的单字节函数有何不同。我正在寻找有关上述设置的详细信息。

编辑 2:好的,看起来他们确实提供了更多的文档,而不仅仅是运行时配置页面,它只有一行摘要。其中前三个具有类似名称的功能,并且在描述功能版本的页面上有更多详细信息。我在上面添加了链接。

编辑 3:添加赏金。我正在寻找有关这些设置的确切作用的具体细节,尤其是最后三个。他们从什么转换成什么,什么时候转换?

0 投票
1 回答
377 浏览

php - 使用 PHP 的 mbstring.func_overload 在字符串中查找字节

我已经配置了 PHP mbstring.func_overload = 7,所以所有的单字节字符串函数都映射到它们的多字节等效项。但有时我仍然需要将字符串视为字节数组;例如,在计算它们的大小或进行加密时。

这里最好的方法是什么?我可以只使用多字节函数并向它们传递单字节编码,即使这实际上不是字符串的编码方式吗?例如:

编辑:在查看 PHP 的源代码时,我注意到他们将原始函数重命名为 mb_orig_X,就像在 mb_orig_strlen 中一样。可能不安全使用,因为它们没有记录,但很有趣。

0 投票
2 回答
1087 浏览

c# - 使用 RegEx 搜索多字节字符串

我正在使用 WebBrowser 控件处理 html 文档,我需要制作一个实用程序来搜索单词并在浏览器中突出显示它。如果字符串是英文的,它工作得很好,但对于其他语言的字符串,例如韩文,它似乎不起作用。

下面提到的代码工作的场景是 -

考虑用户在网页中选择了一个词“示例”,现在我需要突出显示这个词及其所有出现。我还需要计算它们的 byteOffset (代码片段只这样做)。

现在对于英语,下面的代码可以正常工作,但对于像韩语这样的语言,它根本不起作用。

它没有进入 for-each 循环

这里 _documentContent 包含网页源作为字符串。没有发生。文档中所选单词的出现次数

这是代码, strTemp 包含韩文字符串:

0 投票
3 回答
3435 浏览

emacs - 如何使 emacs 正确显示多字节编码文件?是骡子吗?

当我打开一个多字节文件时,我得到这个:

替代文字

0 投票
10 回答
59915 浏览

php - 使用 PHP + MySQL 的 UTF-8 编码问题

我将数据从 MySQL 4(它们最初设置为latin2编码)移动到 MySQL 5,并将编码设置为 UTF-8。在phpMyAdmin中看起来不错,UTF-8 也可以。但是,网站上有问号而不是一些字符!网站编码也设置为UTF-8,所以我不明白问题出在哪里。

PHP 和 HTML 文件也设置为 UTF-8。

我怎样才能解决这个问题?

0 投票
5 回答
18880 浏览

php - PHP preg_functions 多字节安全吗?

PHP 中没有可用的多字节“preg”函数,这是否意味着默认的 preg_functions 都是 mb 安全的?在 php 文档中找不到任何提及。

0 投票
3 回答
1686 浏览

ruby - ruby 1.9:如何获得基于字节索引的字符串切片?

我正在使用 UTF-8 字符串。我需要使用基于字节的索引而不是基于字符的索引来获取切片。

我在网上找到了对 的引用String#subseq,它应该类似于String#[],但用于字节。唉,它似乎没有达到 1.9.1。

现在,我为什么要这样做?如果我在一个多字节字符的中间切片,我最终可能会得到一个无效的字符串。这听起来是个可怕的主意。

好吧,我正在使用StringScanner,事实证明它的内部指针是基于字节的。我在这里接受其他选择。

这是我现在正在使用的内容,但它相当冗长:

两者ixpos来自StringScanner,因此都是基于字节的。

0 投票
3 回答
17199 浏览

ruby - Ruby 1.9:如何正确大写和小写多字节字符串?

所以 matz 决定保留upcasedowncase限制/[A-Z]/i在 ruby​​ 1.9.1 中。

ActiveSupport::Multibyte长期以来,在 ruby​​ 1.8.x 中通过String#mb_chars.

但是,当在 ruby​​ 1.9.1 下尝试时,它似乎不起作用。这是我编写的一个简单的测试脚本,以及我得到的输出:

那么,如何使用 ruby​​ 1.9.1实现国际upcase化?downcase

更新

我应该补充一点,我还在 GitHub 的 current 和masterrails分支中使用 ActiveSupport 进行了测试。结果相同。2-3-*3-0-unstable

0 投票
4 回答
8637 浏览

c++ - 多字节字符集中的 _tcslen:如何将 WCHAR [1] 转换为 const char *?

我在互联网上搜索了大约 2 个小时,但没有找到任何工作解决方案。

我的程序有多字节字符集,在我得到的代码中:

在编译时,我得到了错误:

“strlen”:无法将参数 1 从“WCHAR [1]”转换为“const char *”

如何将此 WCHAR[1] 转换为 const char * ?

0 投票
2 回答
2415 浏览

php - 变音符号和 mb_substr 的问题

我正在使用mb_substr函数对带有变音符号的 unicode 字符串进行切片,但它可以像使用简单substr函数一样工作。它将 unicode 字符分成两半,显示问题标记的菱形。

例如

可能有什么问题?