【问题标题】:How to convert Indic Characters to Unicode Escaped characters如何将印度字符转换为 Unicode 转义字符
【发布时间】:2016-04-27 12:58:26
【问题描述】:

我目前正在为 Android 设计一个移动应用程序。文本和内容采用当地印度语泰米尔语。对于 Welcome,相当于泰米尔语的翻译是:வணக்கம்。由于 Android 无法显示印度文字,我正在使用名为 JavaScript String Escape 的服务对其进行转换。

所以这是这样工作的:

  • 输入: வணக்கம்
  • 输出: \u0BB5\u0BA3\u0B95\u0BCD\u0B95\u0BAE\u0BCD

我如何使用 JavaScript 或 PHP 来实现这一点,因为我有大量的文本需要转换并转换成 JSON。示例 JSON:

{
  "title": "\u0BAE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0BB5\u0BB0\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD #1",
  "image": "http://www.exceptnothing.com/doctors/doc11.png",
  "rating": "\u2713 \u0B87\u0BAA\u0BCD\u0BAA\u0BC7\u0BBE\u0BA4\u0BC1 \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
  "rating2": "",
  "releaseYear": "\u0BA8\u0BBE\u0BB3\u0BCD \u0BAE\u0BC1\u0BB4\u0BC1\u0BB5\u0BA4\u0BC1\u0BAE\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD",
  "genre": ["\u25B6 \u0B87\u0BA4\u0BAF \u0BA8\u0BBF\u0BAA\u0BC1\u0BA3\u0BB0\u0BCD"]
}

我也想知道如何解码上面的 JSON 并将其显示为வணக்கம்。提前致谢。

【问题讨论】:

  • 看来你需要escape()。
  • @PraveenKumar 就这么简单吗?

标签: javascript php android json utf-8


【解决方案1】:

您正在寻找的是 JavaScript 中的 escape() 和 PHP 中的 json_encode()。打开控制台并输入以下内容:

escape("வணக்கம்")

你会得到以下回报:

"%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD"

所以第一个问题解决了。要从上面取回原来的வணக்கம்,请使用unescape():

unescape("%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD");

注意:需要注意的一点是,escape() 和 unescape() 均已弃用。所以你需要使用encodeURIComponent和decodeURIComponent

预览

服务器端更新

对于JSON的编码和解码,最好使用PHP的内置函数。相同的escape() 也可以在 PHP 中用作json_encode(),它们都给出相同的结果。

json_encode("வணக்கம்");
=> "%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD"

另外,请参阅JavaScript: Escaping Special Characters 了解更多信息。希望这可以帮助。 :)

【讨论】:

  • 这就是为什么你可以使用未弃用的 en/decodeURIComponent
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 2012-12-07
  • 2013-10-09
  • 2010-11-02
  • 2010-09-16
  • 2011-10-27
相关资源
最近更新 更多