ctrl c 中文字符到 vnc 里,中文字符已经被转码
为了测试程序对多语言字符的支持情况,我找来一段中文和北欧的文字,希望把这些文字上传到elasticsearch,并能正确显示。
首先测试了北欧文字,一切OK。
但是中文复制到 VNC 客户端(Linux)后却是问号,因为Linux本来就打不出中文,所以显示乱码我也没在意,我觉得中文的编码无非就是一坨二进制的东西,我又没有改变什么,显示问号只是 linux 无法解析而已。跑了下程序,然后到elasticsearch查询结果,中文部分依然显示的是问号。
接下来就几个想法,首先是,程序在某处应该设置charset,我却没有设置,就像 apche email 一样,邮件里显示乱码是因为没有设置 utf-8 的charset,如果是这个原因的话,很难找到解决办法。其次是,那一坨二进制肯定在哪里被转码了,使得上传到elasticsearch后的中文字符已经不是原始的“中文字符了”,但是是在哪转的码呢,也不知道,可能是在http connection上。最后,难道是和 linux 系统没有安装语言包有关,因为我的程序在我自己的mac上跑就没问题,能够正确处理多种文字。
和同事聊了下,因为多语言的问题一直在困扰着大家,在 perl 写的程序中也有非 ascii 码特殊处理的情况,所以又出现了这种问题时,大家都比较无奈。
我跑去找二叔,描述了问题,他说没有想法,要具体分析。不知什么时候,我说自己是把中文字符 ctrl + c 拷到 linux 的 terminal 的,二叔说 ctrl + c 可能会有问题。让我试试 scp 拷贝。我觉得有可能,赶紧跑回去测试,把一段中文字符 ctrl + c 拷到terminal,然后再拷出来,果然已经恢复不出来中文字符了。操作不可逆,显然,期间发生了转码,问题解决。
所以有了问题,花了一定的时间搞不定后,赶紧去问老同事。和他们描述问题会理清思路,排除极不可能的选项。
其实文字的编码,无论从哪里流到哪里,二进制应该不会变的,无论是硬件位置的改变还网络传输,即便真正发生了改变,也应该有一个 marshall, unmarshall 的过程,且此过程对我们透明,至于乱码与否,就看当前的环境是否有能力把这一坨二进制显示出来。而 clipboard 对文字进行转码,实在是大逆不道。
ctrl c 中文字符到 vnc 里,中文字符已经被转码的更多相关文章
- Mysql 的字符编码机制、中文乱码问题及解决方案【转载】
本文转载自:http://hi.baidu.com/huabinyin/item/7f51e462df565c97c4d24929.感谢作者及相关博主. 相信很多朋友都会对字符编码敬而远 ...
- ubuntu字符界面怎么设置中文显示和中文输入
在ubuntu的字符登陆界面,中文显示默认是乱码的,而且也不支持中文输入,解决方法有很多, 1)安装zhcon--解决中文显示乱码的问题. sudo apt-get install zhcon 然后c ...
- iOS textfield限制长度,中文占2字符,英文占1字符
之前遇到一种情况,限制textfield长度,并且要适配多语言,做到,例如中文占2字符,英文占1字符,还有考虑其他语言,网上找了很多方法,不太合适,最后结合网上的方案,修改出了还比较适用. 首先,增加 ...
- 限制input输入字符数(中文2个字符,英文1个字符)
input的maxlength可以限制input的输入的字符数,但是是字符串的长度,相当于判断str.length;然而经常会有中文字符算2个字符英文算1个字符的需求,目前只能通过编写代码来实现. & ...
- java面试题:如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。
package com.swift; public class TotalNumber_String { public static void main(String[] args) { /* * 如 ...
- linux纯字符界面不支持中文
[2017-01-17] linux纯字符界面不支持中文
- Ubuntu配置图形桌面LXDE和VNC、中文语言包、中文输入法
Ubuntu配置图形桌面LXDE和VNC.中文语言包.中文输入法 http://www.lijiejie.com/ubuntu-vps-config-lxde-vnc/ LXDE是Ubuntu图形桌面 ...
- 速成KeePass全局自动填表登录QQ与迅雷(包括中文输入法状态时用中文用户名一键登录)
原文:http://bbs.kafan.cn/thread-1637531-1-1.html 使用目的:1 网页和本地客户端登录一站式解决2 通过KeePss修改密码和登录更方便,可以复制粘贴,省了输 ...
- 如何在WindowsPhone Bing Map控件中显示必应中国中文地图、谷歌中国中文地图。
原文:如何在WindowsPhone Bing Map控件中显示必应中国中文地图.谷歌中国中文地图. 最近正好有点业余时间,所以在做做各种地图.Bing Map控件本身就能显示必应地图,但是很遗憾微软 ...
随机推荐
- PID控制器(比例-积分-微分控制器)- IV
调节/测量放大电路电路图:PID控制电路图 如图是PlD控制电路,即比例(P).积分(I).微分(D)控制电路. A1构成的比例电路与环路增益有关,调节RP1,可使反相器的增益在0·5一∞范围内变化; ...
- OKHttpUtil工具类
导入jar包下载链接 http://square.github.io/okhttp/ package com.common.util; import java.io.IOException; impo ...
- [转载]震惊!QWidget竟然可以嵌入到QML中,QMl窗口句柄竟然是这样获取
背景 记得在初学qml时,就被大佬告知Qml的实现有两种方式“view+item”和“engine+widow”,那么能不能将QWidget嵌入到QML中来呢,我收到的答案是不可以,原因是QML的 ...
- Redis源码学习-Master&Slave的命令交互
0. 写在前面 Version Redis2.2.2 Redis中可以支持主从结构,本文主要从master和slave的心跳机制出发(PING),分析redis的命令行交互. 在Redis中,serv ...
- Objc的底层并发API
本文由webfrogs译自objc.io,原文作者Daniel Eggert.转载请注明出处! 小引 本篇英文原文所发布的站点objc.io是一个专门为iOS和OS X开发者提供的深入讨论技术的平台, ...
- 绝对精品推荐做前端的看下:Web前端开发体会十日谈
20151208感悟: 前端人的角度来看的话,感觉像是阅读一个大牛前端的全部武功的一个秘籍说明,里面的思想高价值蛋白真是太多太多,推荐看. Web前端开发体会十日谈 一直想写这篇“十日谈”,聊聊我对W ...
- apache的性能调配 MaxClients 与MaxRequestsPerChild
因近期服务不稳定,现象和这个比较类似http://hi.baidu.com/xinfeng999/blog/item/1aea470e214ab1cd7acbe1ed.html根据现象来对APACHE ...
- spring boot+ Intellj idea devtools 设置热部署
POM文件 <!--添加依赖--> <dependency> <groupId>org.springframework.boot</groupId> & ...
- java 路径分隔符自动适配
linux文件路径分隔符为 / ,windows的文件路径分隔符为 \ ,在开发项目过程中不确定用户使用何种操作系统,就需要自动适配路径. 目前已知java提供两种方法获取文件路径分割符: F ...
- 入门:移动APP中的各种导航
即使是移动应用界面的原型设计,导航的形式也可以多种多样.尽管尺寸小,又必须紧凑排列大量数据,它们似乎受到了紧密的约束,但依然有着形形色色的选择. 人们曾经一度只会考虑一种形式——流行且广泛使用的垂直导 ...