当前位置: 首页 > 面试题库 >

西里尔语到拉丁语

壤驷志学
2023-03-14
问题内容

我正在尝试将西里尔字母的单词写成拉丁语,以便可以在url中使用它们。我使用的是icu4j音译器,但它仍然会给出如下奇怪的字符: Vilaândimaa 。它应该更像 viljandimaa
。当我复制该网址时,这些字母会变成%..没用的东西。

有人知道如何使用icu4j将西里尔字母转化为az吗?

更新

已经无法回答自己,但是发现这个问题非常有用:将符号,重音字母转换为英文字母


问题答案:

修改您的标识符以执行所需的操作。您可以在Remove转换中使用正则表达式删除不需要的字符。

例如,考虑字符串 “’Eéматематика”

"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"

标识符"Any-Latin; NFD; [^\\p{Alnum}] Remove"将音译为拉丁文(可能仍包含重音符号),将重音符号分解为字母和变音符号,并删除所有不是字母数字的内容。结果字符串为
Eematematika”

您可以在ICU网站的“ 常规转换 ”
下阅读有关标识符的更多信息。

例:

//import com.ibm.icu.text.Transliterator;
String greek
       = "'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430";
String id = "Any-Latin; NFD; [^\\p{Alnum}] Remove";
String latin = Transliterator.getInstance(id)
                             .transform(greek);
System.out.println(latin);

经过ICU4J 49.1。测试。



 类似资料:
  • 问题内容: 我有带重音拉丁字符的unicode字符串,例如 我想将其转换为普通的ascii,即“ Wikipedia,le projet dencyclopedie”,因此所有急性/重音,塞迪利亚等都应删除 什么是最快的方法,因为需要这样做才能匹配较长的自动完成下拉列表 结论: 作为速度的标准,Lennart的“注册您自己的错误处理程序以进行Unicode编码/解码”可提供最佳效果(请参见Alex

  • 谷歌Web字体上的一些字体支持多个“字符集”。问题是,如果我使用的web字体只提供“拉丁”字形,用户将页面翻译成不支持字形的语言时,会清楚地注意到混乱的文本。 我希望我的网页字体支持最流行的语言在世界上除了英语,例如,西班牙语,德语,法语等。 出于这个目的,我想知道,“拉丁”和“拉丁扩展”到底是针对哪种语言的。 我想答案应该是这样的:

  • 问题内容: 我正在尝试使用php的函数json_encode将西里尔UTF-8数组编码为JSON字符串。示例代码如下所示: 它工作正常,但脚本的结果表示为: 每个西里尔字母组成6个字符。有没有一种方法可以获取键/值对的原始字符,而不是编码的字符? 问题答案: 您不能在此处使用JSON_UNESCAPED_UNICODE常量吗?

  • 问题内容: 当用户在数据库中插入俄语单词如“锌褉松弛屑械Russian”时,数据库将其保存为“ ??????”。如果他们以’N’字母插入,或者我以’N’字母进行选择,即;exec Table_Name N’没有问题。但是我不想在每个查询中都使用“ N”,因此对此有什么解决方案吗?顺便说一下,我将使用存储过程。 更新: 现在,我可以使用带有排序规则的俄语字母。但是我无法更改每种语言的排序规则,我只想

  • 我正在尝试将我的googlemaps v2函数移植到v3。 但不知怎的,我陷入了一个奇怪的错误,我找不到我做错了什么。 错误:未捕获的InvalidValueError: setPoint: not a latLng or latLngLitald: in属性lat: not a数字{main, adSense,几何,僵尸}. js: 25 这里是我的地图初始化: 这是我错误的部分: 编辑:dra

  • 在python3程序中从MySQL打印西里尔文字时,我得到的是问号而不是文字。 我在MySQL表中看到的文本是。 我在python3程序中看到的文本是