在Windows上用RealVNC Viewer访问Linux服务器时,想把VNC中的命令执行结果拷出来,贴到Excel中做文档。

不做设置当然是不能copy的了,要单独开个terminal,执行

% vncconfig -nowin &

才行。

但是,碰到日文内容时就傻了。


原来的内容是

|---------- 要素点座標情報  0.1 : 10583194 th byte (Hex)0xa17c9a  ------------+-----------------------------------------------------------------------|
|------------ X座標(経度)  0.1 : 10583194 th byte (Hex)0xa17c9a  ----------+-----------------------------------------------------------------------|
拷出来一看,变成了

|---------- \u8981\u7d20\u70b9\u5ea7\u6a19\u60c5\u5831  0.1 : 10583194 th byte (Hex)0xa17c9a  ------------+-----------------------------------------------------------------------|
|------------ \uff38\u5ea7\u6a19\uff08\u7d4c\u5ea6\uff09  0.1 : 10583194 th byte (Hex)0xa17c9a  ----------+-----------------------------------------------------------------------|
一个个都是unicode编码。

不知道怎么设置才能拷出来正常的日文,上网查无果。只好在emacs里面转。

因为“0x8981”正好对应“要”字,所以录一个宏,找到一个\u后,把一个\uXXXX转成一个字符。再把宏执行个几十上百遍,就行了。

  1. 把“乱码”后的内容拷进emacs
  2. 开始录制宏 C-x (
  3. ...
  4. 结束录制宏 C-x )
  5. 执行100遍     C-u 100 C-x e

录出来的宏是这样子的(用name-last-kbd-macro 起名为chgucs,然后 insert-kbd-macro)

(fset 'chgucs
   [?\C-s ?\\ ?u ?\C-m ?\C-  ?\C-f ?\C-f ?\C-f ?\C-f ?\C-w backspace backspace escape ?x ?u ?c ?s ?- ?i ?n ?s ?e ?r ?t return ?\C-y return])
实际按键是按以下顺序

Macro:

C-s			;; isearch-forward
\			;; self-insert-command
u			;; self-insert-command
RET			;; newline
C-SPC			;; set-mark-command
4*C-f			;; forward-char
C-w			;; kill-region
2*DEL			;; backward-delete-char-untabify
ESC
xucs-insert		;; self-insert-command * 11
RET			;; newline
C-y			;; yank
RET			;; newline



%vncconfig的使用nowin
⇄
侦测语言 » Afrikaans

⇄
侦测语言 » Afrikaans

更多推荐