2010-12-06 221 views
2

我已经提到两个:希伯来语“URL编码”在R?

?URLencode 
#and 
?curlEscape 

我看到这两个功能对英语工作的伟大,但不能用正确的翻译希伯来文字符提供。

例如,字

שלום

(和平,希伯来文) 应该是这样的:

%D7%A9%D7%9C%D7% 95%D7%9D

但是相反,两个命令transl吃它到:

URLencode("שלום") 
%f9%ec%e5%ed 

你有什么建议? (写我自己,或者是有什么预发)

感谢, 塔尔

更新:我sessionInfo:

> sessionInfo() 
R version 2.12.0 (2010-10-15) 
Platform: i386-pc-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=Hebrew_Israel.1255 LC_CTYPE=Hebrew_Israel.1255 
[3] LC_MONETARY=Hebrew_Israel.1255 LC_NUMERIC=C     
[5] LC_TIME=Hebrew_Israel.1255  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  
+1

对我也适用Tal。我使用enGB.utf8语言环境在Linux上运行R2.12修补程序。 – 2010-12-07 09:29:19

+0

o.k,我发现错误是在我的本地使用。谢谢! – 2010-12-07 11:38:42

回答

4

双方的URLEncode和charToRaw似乎为我工作...

的URLEncode( “שלום”)
[1] “%D7%A9%D7%9C%D7%95%D7%9D”

综观的URLEncode的源代码

的URLEncode
功能(URL,保留= FALSE)
{
行< - 糊( “[^ - ABCDEFGHIJKLMNOPQRSTUVWXYZ”
“abcdefghijklmnopqrstuvwxyz(!reserved)
“; /?:@ = &”,“]”,sep =“”)
X < - strsplit(URL, “”)[[1L]]
ž< - grep的(OK,X)
如果(长度(Z)){
ý< - sapply(X [Z],功能(x)粘贴(“%”,as。字符(charToRaw(X)),
月= “”,崩= “”))
X [Z] < - ý
}
膏(X,崩= “”)
}

charToRaw( “שלום”)
[1] D7 A9 D7 9C D7 95 D7 9D

您使用的其中R的版本?

这是我的sessionInfo()

sessionInfo()
ř版本2.10.0(2009-10-26)
I386-PC-的mingw32

区域设置:
[1] LC_COLLATE = English_United States.1252 LC_CTYPE = English_United States.1252 LC_MONETARY = English_United States.1252
[4] LC_NUMERIC = C = LC_TIME English_United States.1252


个附基础包:
[1]统计图形grDevices utils的数据集的方法基础


其他附包:
[1] preprocessCore_1.8.0

经由一个命名空间加载(和未附):
[1] tools_2.10.0