如何将印度元字符转换为Unicode转义字符

时间:2016-01-21 10:24:52

标签: javascript php android json utf-8

我目前正在为Android设计移动应用程序。文本和内容采用当地印度语,泰米尔语。对于欢迎,相当于泰米尔语的翻译是:வணக்கம்。由于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并将其显示为வணக்கம்。提前谢谢。

1 个答案:

答案 0 :(得分:3)

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

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

你会得到以下回复:

வணக்கம்

所以第一个问题就解决了。要从上面的unescape("%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD"); 中取回原来的encodeURIComponent,请使用unescape()

decodeURIComponent
  

注意: 需要注意的一点是,escape()unescape()都已弃用。因此,您需要使用escape()json_encode("வணக்கம்"); => "%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD"

预览

服务器端更新

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

hibernate 3

另外,有关详细信息,请参阅JavaScript: Escaping Special Characters。希望这可以帮助。 c3p0