问题标签 [icu]

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 投票
1 回答
261 浏览

cocoa-touch - 可可 icu 文件

我想在 UIWebView 中突出显示语法。我听说过 Cocoa icu,但我没有从谷歌搜索中找到任何文件。

有人可以给我一些信息吗?

谢谢你

0 投票
2 回答
669 浏览

thread-safety - ICU 的 ucnv_convertEx 线程安全吗?

我想知道 ICU 库中的 ucnv_convertEx 是否是线程安全的。从源代码来看,它似乎是线程安全的,但我不是 100% 确定。我也无法在 ICU 文档中找到明确的状态。

谢谢

0 投票
2 回答
286 浏览

c++ - ICU 货币区域设置 获取面额

有没有办法探测ICU货币区域设置的最小面额?例如,美国是 0.01 美元,韩国 (ko_KR) 是 ₩1。我认为调用getRoundingIncrement()DecimalFormat对象可能会将它交给我,但对于 en_US 和 ko_KR 都返回 0。

0 投票
4 回答
424 浏览

regex - 修复正则表达式以解决 ICU/RegexKitLite 错误

我正在使用 RegexKitLite,而后者又使用 ICU 作为其引擎。尽管有文档,当搜索“xxxxxxxxxxx”时,像 /x*/ 这样的正则表达式将匹配空字符串。它的行为类似于 /x*?/ 应该。我想在它存在时绕过这个错误,并且我正在考虑将任何未转义的 * 重写为 + 当正则表达式匹配返回 0 长度结果时。我天真的猜测是用 +s 代替 *s 的正则表达式将始终返回正确结果的子集。这会带来什么意想不到的后果?我走对了吗?

FWIW,ICU 还提供了一个 *+ 运算符,但它也不起作用。

编辑:我应该更清楚:这是用于交互式应用程序的搜索字段。我无法控制用户输入的正则表达式。损坏的 * 支持似乎是 ICU 中的一个错误。我当然希望我不需要在我的代码中包含那个 POS,但这是城里唯一的游戏。

0 投票
4 回答
931 浏览

java - JNI - 将 UChar 类型映射到

我有一个 JNI 函数,它返回一个 UChar 数组(来自 ICU4C 库),我想将其转换为 Java 字符数组,以便可以从 Java 中调用它。我不确定问题出在哪里,每当我访问这个 JNI 函数时,一切都崩溃并挂起,但我在任何地方都没有收到错误消息,包括在 logcat 中......很难调试!

UChar 数组可以直接映射到 jcharArray 类型吗?另外,我可以将它用作返回类型吗?或者我可以将它作为参数传递给 JNI 函数然后填充?

这是我想要做的基本上的一个片段:

任何帮助表示赞赏!

谢谢

0 投票
1 回答
493 浏览

php - NumberFormatter::ORDINAL 给我垃圾

我正在尝试在 PHP 中使用 NumberFormatter 类,但我遇到了 ORDINAL 格式的问题。我尝试了其他几种格式都没有问题。但是当我使用 ORDINAL 时,我只会得到垃圾。选择不同的语言环境似乎给了我不同的垃圾。

我希望输出是“6th”,但我得到的是“6áµ—Ê°”。

0 投票
2 回答
926 浏览

java - 将 ICU4C 字节转换为 java char

我正在通过 JNI 访问一个 ICU4C 函数,该函数返回一个 UChar *(即 unicode 字符数组)......我能够通过将 UChar 数组的每个成员等同于我创建的本地 jbyte[] 数组来将其转换为 jbyteArray然后我使用 env->SetByteArrayRegion() 函数将它返回给 Java ......现在我在 Java 中有 Byte[] 数组,但它几乎都是胡言乱语......充其量是奇怪的符号......我不确定问题出在哪里可能是...如果这很重要,我正在使用 unicode 字符...如何正确地将 byte[] 转换为 java 中的 char[]?有些东西没有正确映射......这是代码片段:


--- JNI 代码(稍作改动以使其更短)---

-- Java 代码 -- 字符串 woohoo = "ABCD bal bla bla"; char[] myChars = woohoo.toCharArray();


我也尝试过: System.out.println(new String(myICUBytes, Charset.forName("UTF-16"))) 和它一样乱七八糟....

请注意,ICU 函数确实在 UChar *... 中返回正确的 unicode 字符,介于转换为 jbyteArray 和正在搞砸的 Java 之间...

帮助!

0 投票
3 回答
1169 浏览

android - 关于字符集编码和ICU4C的问题

我在安卓产品设备上运行CTS(基础代码为android 2.3),但以下案例失败:

当我在 Android SDK 2.3.3 模拟器上运行相同的测试时,它通过了。

然后我对比了android 2.3.3和我的代码的源代码,没有什么不同。但我认为一定有一些我没有注意到的不同之处。然后我发现这个问题与 ICU4C 有关,但 ICU4C 非常复杂,谁能告诉我任何线索来跟踪这个问题?或者我应该如何继续跟踪问题?

非常感谢。

0 投票
3 回答
2312 浏览

java - 用于字符集转换的 CharsetICU java 示例

我需要将文件从 EBCDIC (IBM 937) 转换为 UTF-8。知道如何使用 CharsetICU (icu4j API) 进行字符集转换吗?

0 投票
1 回答
4469 浏览

php - 在 OS X 10.6.6 上安装 intl:无效库(可能不是 PHP 库)intl.so

我正在尝试使用随附的 PHP 版本(v5.3.3)在我全新安装的 OS X 10.6.6 上安装 PHP 扩展 intl。

我知道扩展需要 ICU,所以我用自制软件安装了它。我安装的 ICU 版本是 4.4.1,存储在/usr/local/Cellar/icu4c/4.4.1.

我尝试了两种不同的方法来安装 intl 扩展:

pecl 安装

pecl 向我询问 ICU 前缀,即/usr/local/Cellar/icu4c/4.4.1. configure运行没有问题,但make中止:

/private/var/tmp/apache_mod_php/apache_mod_php-53~1/Build/tmp/pear/temp/intl/collat​​or/collat​​or_class.c:107:错误:重复“静态”制作:* [collat​​or/collat​​or_class.lo] 错误1 错误:“制作”失败

直接构建

我下载了当前版本的 PHP (v5.3.5),然后ext/intl通过运行安装了 intl 扩展:

这似乎奏效了;我在 PHP 扩展目录中有一个扩展,但没有收到任何错误消息。

该文件告诉我:Mach-O 64-bit bundle x86_64

但是,当我在 中加载扩展时php.ini,我收到了以下消息:

PHP 警告:PHP 启动:无效库(可能不是 PHP 库)'/usr/lib/php/extensions/no-debug-non-zts-20090626/intl.so' 在第 0 行的未知

我不知道为什么会这样。我猜这是因为扩展是从 PHP v5.3.5 安装的并且我使用的是 v5.3.3,但我无法想象 2 个错误修复版本会破坏兼容性。

有任何想法吗?

2011-03-16 更新:

我找到了解决办法!当我在 configure 中明确设置-m64标志(告诉 gcc 生成 64 位代码)时,扩展会正确加载:

CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure