-
linux和windows分别对socket中文数据解析,windows正常,linux乱码20
如题,具体描述如下:
1.socket客户端是flash,数据时byte形式传的
2.把java服务端布署在windows下可以正常解析flash客服端传来的中文
3.但把java服务端放在linux则出现乱码(但是在linux服务端读取数据库中的中文传递给客服端时,客户端不会出现乱码)
4.客户端和服务端都统一用utf-8对中文进行解析
问题:在linux下,为什么服务端解析客户端传进来的中文,会出现乱码?
问题补充:changchang 写道在客户端发送同样的内容,在windows和linux系统的服务器上分别打印读到的byte数组,看看是不是一样的。
废话,肯定一样
问题补充:beneo 写道windows默认系统语言gbk
linux默认系统语言utf-8
这个跟java socket没有关系,你自己弄混了。
要找出原因的话,还是叫changchang的说的对
首先去比较byte数组,看看是不是一样的
关于java,socket我只是说明一下我开发环境而言,数据是完全一样的
问题补充:linux服务端装好了中文字体,linux下在记事本里面可以显示中文,记事本的编码utf-8的
/etc/sysconfig/i18n配置:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"2011年3月12日 18:10
14个答案 按时间排序 按投票排序
-
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
试着把Linux的LANG改成GBK看看能解决吗?2011年3月26日 21:27
-
1:检查环境,对比一下windows和linux系统环境编码;
2:检查文件编码;
3:检查提供flex服务的服务器编码;
4:查看从服务器端传过来能解析中文的那个方法,是不是在传递之前做了转换。2011年3月21日 22:37
-
changchang 写道
在客户端发送同样的内容,在windows和linux系统的服务器上分别打印读到的byte数组,看看是不是一样的。
废话,肯定一样
------------------------
这个不一定哦,Linux字节顺序是Big endian, Windows字节顺序是Little endian2011年3月17日 13:46
-
个人觉得是系统的字符集造成的:
1. windows默认系统字符集gbk(不可修改),linux默认不是utf-8需要自行修改;
2. 你的web容器(tomcat)也有一个字符集的配置,也是需要关注到的;
3. 你的客户端使用的是什么字符集,客户端的系统使用什么字符集,服务端系统的字符集,服务端Server的字符集应该与之对应,如果不对应则自己转码过滤一下(一般的系统都会有一个filter转换编码)。
希望对你有所帮助2011年3月16日 14:09
-
你本地连接服务器的远程终端(如:ssh,putty等)的字符集也得设置。
简单点,如果乱码是在日志里出现的,直接把日志文件下到你本地看看是不是乱码就知道了。2011年3月14日 16:24
-
windows默认系统语言gbk
linux默认系统语言utf-8
这个跟java socket没有关系,你自己弄混了。
要找出原因的话,还是叫changchang的说的对
首先去比较byte数组,看看是不是一样的2011年3月12日 22:53
-
但是从Flash MX开始,Flash就开始支持Unicode编码。
Unicode
Unicode能够支持多国不同文字在同一套编码架构中,所以能够在同一篇文章中,同时显
示繁简体中文字和其他文字。Flash 6(Flash MX)开始支持Unicode,并将Flash Player
6或以上预设编码为Unicode(如果播放Flash 5就仍然是根据浏览者系统预设编码去显示)
,新手不知道这转变,动态载入外部档案,例如:
loadVariablesNum("text.txt", 0);
text.txt这档案里的中文用Big5编码,Flash Player 6则用Unicode,结果当然是显示乱码。
解决方法有两个:
一 强迫Flash使用“Flash 5原来编码方法”,在Frame 1加入指令:
System.useCodepage = true;
如果整都是使用“Flash 5原来编码方法”,就只需在Frame 1开始加一次便可。
二 使用unicode编码
服务端编程:
1.PHP/ColdFusion的开发者
请把你的PHP/ColdFusion存为UTF-8编码。
文本:文件->另存为->编码->UTF-8
DW2K4:File->New->Preference...->Default encoding->UTF-8
2.ASP的开发者
请把你的ASP存为UTF-8编码。
文本:文件->另存为->编码->UTF-8
DW2K4:File->New->Preference...->Default encoding->UTF-8
然后在顶上多加
<%@ codepage=65001 %>
就可以了
2011年3月12日 20:39
-
不知你数据库里的数据是不是在linux的服务器写进去的呢?如果是的话,那能正常的从数据库里读取并正确的传输到客户端,说明上传数据,写入数据库,读数据库和下行数据都能正常解码。我觉得很有可能是终端的编码导致你看到了乱码。
2011年3月12日 19:40
-
如果是一样的话,解出来的字符串应该是一样的。是在什么地方出现乱码的呢?程序执行过程中因乱码引起异常,还是保存数据库里变成乱码,还是通过ssh等终端查看日志发现乱码的?如果是终端的话,有可能是终端使用的编码不一致而导致的。
2011年3月12日 19:35
相关推荐
通过socket API,我们可以创建服务器端和客户端,建立TCP或UDP连接,进行数据的发送和接收。TCP提供面向连接的服务,确保数据的可靠传输;而UDP则是一种无连接的协议,适用于对实时性要求较高的场景,但不保证数据的...
为了防止字符编码问题,通常会使用Base64或其他编码方式对文件名进行编码,确保在网络传输过程中不出现乱码。 3. **文件内容**: 文件内容是文件的主要部分,也是数据量最大的部分。在Socket编程中,文件内容通常被...
### MySQL显示乱码问题解析及解决方案 在使用MySQL数据库时,可能会遇到字符显示乱码的情况。这通常是由于字符集设置不正确导致的问题。本篇文章将详细介绍如何排查与解决Linux系统下MySQL显示乱码的问题。 #### ...
标题中的"串口读转发到Socket.zip_SERIAL_victorykhr_zip"表明这是...如果你对串口通信和Socket编程不熟悉,建议先学习相关的基础知识,例如《UNIX网络编程》、《串行通信编程》等书籍,以便更好地理解和使用这个项目。
商业软件对数据安全和用户隐私有严格要求。在局域网消息发送中,应考虑采用加密技术如SSL/TLS保证数据传输的安全性,防止信息被窃取或篡改。此外,还需要设计合理的权限控制机制,限制非法访问和操作。 七、用户...
不同的操作系统和编程环境可能需要不同的处理方式,但核心是保证数据在传输和解析过程中不丢失或变乱。通过遵循正确的配置和编码转换策略,可以避免这些问题,使得Android应用以及其他各种平台的应用程序都能顺利地...
- 不规则间隔的txt文件,需要编写代码进行解析和整理,确保数据的正确导入。 5. **数据迁移**: - 从MSSQL到MySQL的迁移,可以使用MySQL Migration Toolkit、Access作为中间媒介,或者BCP工具配合`load data ...
在使用Ruby进行开发的过程中,特别是在Windows系统的CMD环境中,经常会遇到中文显示乱码的问题。这主要是由于系统默认编码与Ruby解释器处理中文字符时所采用的编码不一致造成的。 **解决方法:** 1. **更改CMD的...
这通常涉及到底层的网络编程API,例如在Windows中可以使用Winsock API,在Linux中可以使用socket API。 #### 3. 封包的接收与解析 - **接收封包**:网络接口接收到封包后,操作系统会将它们传递给相应的应用程序或...
在实际应用中,通常会扩展这个基础架构,例如添加错误处理、数据解析和用户交互功能。同时,服务器端也可能需要处理多个并发连接,以及更复杂的数据交换逻辑。了解这些基础知识是构建更复杂Android网络应用的前提。
Tomcat调优是提高应用程序性能的关键步骤,尤其对于处理高并发和大数据量的应用来说更为重要。以下是一些关键的Tomcat调优配置技巧: 一、启用Gzip压缩 为了减少网络流量,可以在Tomcat配置中启用Gzip压缩。在`...
### 天龙私服假设问题集解析 #### 一、SecureCRT或WinSCP登录Linux问题解决方法 当使用SecureCRT或WinSCP尝试登录Linux系统时,可能会遇到“机器双方可以ping通,但无法连接”的问题。这通常是由于安全设置不当...
通过配置`<GlobalNamingResources>`和`<Context>`元素,可以开启Server Side Includes (SSI)功能,支持`.shtml`文件的解析。这有助于简化页面动态更新和提高代码复用。 六、修改网站访问端口为80 默认的80端口是...
易语言5.1 相对于易语言5.0更新说明: ... 修改XML解析支持库,增加写出CDATA数据功能,解决解析XML时错误的丢弃换行和TAB字符的BUG,解决读取节点值时对CDATA数据进行转义处理的BUG。 20. 修改扩展界面支持库...
### MySQL升级教程文档知识点解析 #### 一、MySQL升级概览 MySQL的升级是指将当前正在使用的MySQL版本更新至更高版本的过程。升级的目的通常是为了利用新版本提供的性能优化、安全增强以及新特性等功能。 #### 二...
- **6.2 数据存储之SharedPreferences**: SharedPreferences是一种轻量级的数据存储方式,适用于保存简单的键值对数据。 - **6.3 数据存储之Files**: 文件存储是最常见的数据存储方式之一,可以将数据保存为文件的...
- **解决中文乱码问题**:确保Tomcat和应用程序正确地处理中文字符集。 - **解决中文文件下载问题**:确保下载中文命名的文件时,文件名能够被正确解析。 - **隐藏目录列表**:禁止用户直接浏览某个目录下的文件,...
在这个例子中,假设都是UTF-8编码,但如果涉及不同平台(如Linux和Windows),可能需要考虑GBK编码。在实际应用中,应确保发送方和接收方使用相同的编码标准,以避免乱码问题。 8. **关闭套接字**: UDP套接字通常...