感谢回复,按options的方法 ,再试一次:
<br />
> options(encoding = "UTF-8")<br />
> source("calc_index.R")<br />
</p>
1.执行查询函数 中文参数:
<br />
> getIndexComp('3D概念')<br />
[1] "select blkname,secode from indst_classify where blkname like '3D概念%' ORDER BY secode limit 10"<br />
错误于postgresqlExecStatement(conn, statement, ...) :<br />
RS-DBI driver: (could not Retrieve the result : ERROR: invalid byte sequence for encoding "UTF8": 0xb8<br />
)<br />
</p>
2 执行查询函数 非中文参数.
<br />
> getIndexComp('3D')<br />
[1] "select blkname,secode from indst_classify where blkname like '3D%' ORDER BY secode limit 10"<br />
blkname secode<br />
1 3D鎵撳嵃 SH600071<br />
2 3D鎵撳嵃 SH600288<br />
3 3D鎵撳嵃 SH600765<br />
4 3D鎵撳嵃 SH600806<br />
5 3D鎵撳嵃 SH601313<br />
6 3D鎵撳嵃 SH603002<br />
7 3D鎵撳嵃 SZ000988<br />
8 3D鎵撳嵃 SZ002008<br />
9 3D鎵撳嵃 SZ002117<br />
10 3D鎵撳嵃 SZ002189<br />
3.执行查询函数 乱码中文的参数.将错就错
<br />
> getIndexComp('3D鎵撳嵃')<br />
[1] "select blkname,secode from indst_classify where blkname like '3D鎵撳嵃%' ORDER BY secode limit 10"<br />
blkname secode<br />
1 3D鎵撳嵃 SH600071<br />
2 3D鎵撳嵃 SH600288<br />
3 3D鎵撳嵃 SH600765<br />
4 3D鎵撳嵃 SH600806<br />
5 3D鎵撳嵃 SH601313<br />
6 3D鎵撳嵃 SH603002<br />
7 3D鎵撳嵃 SZ000988<br />
8 3D鎵撳嵃 SZ002008<br />
9 3D鎵撳嵃 SZ002117<br />
10 3D鎵撳嵃 SZ002189<br />
</p>
是不是已经无语了?
对了再查看一次 sessionInfo()
<br />
> sessionInfo()<br />
R version 2.15.3 (2013-03-01)<br />
Platform: i386-w64-mingw32/i386 (32-bit)</p>
<p>locale:<br />
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936<br />
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936<br />
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936<br />
[4] LC_NUMERIC=C<br />
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936 </p>
<p>attached base packages:<br />
[1] stats graphics grDevices utils datasets<br />
[6] methods base </p>
<p>other attached packages:<br />
[1] RPostgreSQL_0.4 DBI_0.2-7<br />
</p>