乱码解析
retroarch乱码解决方法

retroarch乱码解决方法RetroArch是一款强大的跨平台游戏模拟器和多媒体播放器,可以在不同的操作系统上运行,并支持许多不同的游戏控制器。
然而,有时用户在使用RetroArch时可能会遇到乱码问题。
这篇文章将介绍一些常见的RetroArch乱码问题及其解决方法。
1.字体问题:RetroArch乱码问题的一个常见原因是缺少适当的字体文件。
在RetroArch中,字体文件负责渲染和显示游戏的文字。
如果缺少字体文件或字体文件损坏,就会导致乱码问题。
解决方法:您可以尝试以下方法解决字体问题:- 确保您的操作系统有默认的合适字体文件,这些字体文件可以正确地渲染和显示文字。
- 检查RetroArch的字体配置。
在RetroArch的设置界面中,您可以找到字体配置选项。
尝试更改字体并重新启动RetroArch,看看问题是否解决。
- 尝试从RetroArch的官方网站或其他可靠来源下载并安装适当的字体文件。
确保字体文件与RetroArch的版本兼容。
2.编码问题:另一个导致乱码问题的原因是错误的编码设置。
编码是一种将字符映射到数字的系统,它决定了如何在计算机上存储和处理文本数据。
如果RetroArch的编码设置与游戏的编码不匹配,就会导致乱码问题。
解决方法:您可以尝试以下方法解决编码问题:- 检查RetroArch的语言和区域设置。
确保它们与游戏的设置相匹配。
您可以在RetroArch的设置界面中找到这些选项。
- 尝试更改游戏的编码设置。
有些游戏允许您在游戏内部更改编码设置。
尝试找到并更改游戏的编码设置,看看问题是否解决。
3.文件格式问题:有时,乱码问题可能是由于游戏ROM文件的格式不正确或损坏导致的。
RetroArch无法正确解析这些文件,并显示乱码。
解决方法:您可以尝试以下方法解决文件格式问题:- 检查游戏ROM文件的完整性。
确保ROM文件没有损坏或缺失关键数据。
您可以尝试从可靠的来源重新下载ROM文件,看看问题是否解决。
中文字幕电影乱码1

中文字幕电影乱码解决方案引言随着全球电影产业的发展,越来越多的电影开始提供中文字幕,以方便非英语母语国家的观众观看。
然而,在观看中文字幕电影时,很多用户都可能遇到乱码的问题。
本文旨在介绍中文字幕电影乱码的原因,并提供解决方案以确保观众能够顺利观看中文字幕电影。
中文字幕电影乱码原因中文字幕电影乱码问题的原因可以归结为以下几个方面:1. 字符编码问题在电影制作过程中,字幕文件通常以一定的字符编码保存。
常见的字符编码有UTF-8、GB2312、GBK等。
如果播放器无法正确解析字幕文件的字符编码,就会导致字幕显示乱码。
2. 字体兼容性问题不同的电脑系统和播放器使用的字体可能有所差异。
如果字幕文件中使用的字体在观看者的设备上不存在,播放器会尝试使用默认字体来显示字幕,可能导致乱码。
3. 字幕文件错误字幕文件的编写可能存在错误,如字符编码与实际编码不一致、字体未嵌入等。
这些错误都有可能导致乱码问题。
解决方案为了解决中文字幕电影乱码问题,可以采取以下几个解决方案:1. 使用支持多种字符编码的播放器选择一个支持多种字符编码的播放器是解决乱码问题的基础。
常见的播放器如PotPlayer、VLC等都能够自动检测并正确解析字幕文件的字符编码。
2. 安装所需字体检查字幕文件中使用的字体,在观看电影之前安装所需字体。
可以从字幕文件中查找字体名称,并在字体库中搜索并下载相应字体。
这样可以确保播放器能够正确显示字幕内容。
3. 修改字幕文件如果字幕乱码仅限于某些特定字符或某些场景,可以尝试修改字幕文件以修复乱码问题。
可以使用文本编辑器打开字幕文件,检查并修复字符编码错误、字体嵌入等问题。
4. 转换字幕文件编码如果播放器无法正确解析字幕文件的字符编码,可以尝试将字幕文件的编码转换为播放器支持的编码。
有许多工具和在线转换服务可用于将字幕文件从一种编码转换为另一种编码。
结论中文字幕电影乱码问题是观众在观看中文字幕电影时常常遇到的问题。
解析StreamReader与文件乱码问题的解决方法

解析StreamReader与⽂件乱码问题的解决⽅法相信很多⼈在读取⽂件的时候都会碰到乱码的情况,所谓乱码就是错乱的编码的意思,造成乱码的是由于编码不⼀致导致的。
编码和名字⼀样,分别是ansi,Unicode,utf8⾥⾯的内容都是:public static void Main(){List<string> lstFilePath = new List<string>(){"H:\\TestText\\ansi.txt","H:\\TestText\\unicode.txt","H:\\TestText\\utf8.txt"};foreach (string filePath in lstFilePath){using (StreamReader reader = new StreamReader(filePath)){Console.WriteLine("读取⽂件" + filePath);Console.WriteLine(reader.ReadToEnd());Console.WriteLine("************************************************************");}}}由于第⼀个⽂件使⽤ansi编码,但是StreamReader 的默认构造函数使⽤的是utf8编码,所以乱码了。
StreamReader 旨在以⼀种特定的编码输⼊字符,⽽ Stream 类⽤于字节的输⼊和输出。
使⽤ StreamReader 读取标准⽂本⽂件的各⾏信息。
除⾮另外指定, StreamReader 的默认编码为 UTF-8,⽽不是当前系统的 ANSI 代码页。
UTF-8 可以正确处理 Unicode 字符并在操作系统的本地化版本上提供⼀致的结果。
JAVA中文字符乱码解决详解

JAVA中⽂字符乱码解决详解⾸先要了解JAVA处理字符的原理。
JAVA使⽤UNICODE来存储字符数据,处理字符时通常有三个步骤:– 按指定的字符编码形式,从源输⼊流中读取字符数据– 以UNICODE编码形式将字符数据存储在内存中– 按指定的字符编码形式,将字符数据编码并写⼊⽬的输出流中。
所以JAVA处理字符时总是经过了两次编码转换,⼀次是从指定编码转换为UNICODE编码,⼀次是从UNICODE编码转换为指定编码。
如果在读⼊时⽤错误的形式解码字符,则内存存储的是错误的UNICODE字符。
⽽从最初⽂件中读出的字符数据,到最终在屏幕终端显⽰这些字符,期间经过了应⽤程序的多次转换。
如果中间某次字符处理,⽤错误的编码⽅式解码了从输⼊流读取的字符数据,或⽤错误的编码⽅式将字符写⼊输出流,则下⼀个字符数据的接收者就会编解码出错,从⽽导致最终显⽰乱码。
这⼀点,是我们分析字符编码问题以及解决问题的指导思想。
好,现在我们开始⼀只只的解决这些乱码怪兽。
⼀、在JAVA⽂件中硬编码中⽂字符,在eclipse中运⾏,控制台输出了乱码。
例如,我们在JAVA⽂件中写⼊以下代码:String text = “⼤家好”;System.out.println(text);如果我们是在eclipse⾥编译运⾏,可能看到的结果是类似这样的乱码:。
那么,这是为什么呢?我们先来看看整个字符的转换过程。
1. 在eclipse窗⼝中输⼊中⽂字符,并保存成UTF-8的JAVA⽂件。
这⾥发⽣了多次字符编码转换。
不过因为我们相信eclipse的正确性,所以我们不⽤分析其中的过程,只需要相信保存下的JAVA⽂件确实是UTF-8格式。
2. 在eclipse中编译运⾏此JAVA⽂件。
这⾥有必要详细分析⼀下编译和运⾏时的字符编码转换。
– 编译:我们⽤javac编译JAVA⽂件时,javac不会智能到猜出你所要编译的⽂件是什么编码类型的,所以它需要指定读取⽂件所⽤的编码类型。
exe 乱码修正原理

exe 乱码修正原理
在 Windows 环境下,exe 文件运行时出现乱码的问题,其修正原理主要涉及以下几个方面:
1. 字符编码设置:
当程序输出文本时,如果它没有正确处理字符编码或与系统默认的字符编码不匹配,就可能导致乱码。
例如,如果程序使用了GBK编码,而系统默认为UTF-8,则需要将系统的非Unicode程序的代码页设置成对应编码,或者修改程序以适应正确的编码。
2. 控制台字体设置:
对于控制台应用程序,如果使用的字体不支持特定字符集,也会出现乱码。
可以通过修改控制台窗口属性,更换支持更多字符集(如包含中文字符)的字体,如SimSun-ExtB。
3. 程序内部编码处理:
如果是编程实现问题,开发者需要确保程序读写文件、显示字符串等操作中,对字符编码有明确且一致的处理,比如正确地进行转换和解码。
在Golang中,通过使用Unicod
e编码并正确设置输入输出流的编码格式,可以避免乱码问题。
4. API调用参数:
在Windows编程中,涉及API调用时应确保传递给API 函数的编码参数正确无误,以便系统能正确解析和显示字符串内容。
5. 资源文件编译配置:
对于资源文件中的字符串资源,确保在编译时采用正确的编码,并在加载时以相同的方式解码。
总之,解决 exe 乱码问题的核心在于确保整个数据链路中字符编码的一致性和兼容性,包括操作系统、程序内部处理以及用户界面展示等多个环节。
中文字字幕在线中文乱码不卡

中文字字幕在线中文乱码不卡简介在现代社会中,视频成为了人们获取信息、娱乐和学习的重要途径之一。
随着全球化的加剧,中文字幕在在线视频中扮演着重要的角色,使得不同语言和文化背景的人们都能够轻松地理解和享受视频内容。
然而,有时候中文字字幕在线中文乱码的问题会出现,这给用户的观影体验带来了一定的困扰。
本文将介绍中文字字幕在线中文乱码不卡的原因和解决方法。
问题原因中文字字幕在线中文乱码的问题可能是由以下几个原因引起的:1.编码问题:视频中的字幕文件可能采用了不正确的编码方式,导致在播放时出现乱码。
常见的字幕编码方式有UTF-8、GB2312等,如果字幕文件的编码方式与播放器不兼容,就会造成乱码问题。
2.播放器不兼容:不同的播放器对字幕编码的支持程度有所差异,有些播放器可能无法正确解析特定编码的字幕文件,导致中文乱码。
3.资源服务器问题:有时候中文字字幕在线中文乱码的问题并不是由字幕文件本身引起的,而是由字幕文件所在的服务器配置不正确造成的。
例如,服务器未正确设置字符编码,将会导致字幕文件传输过程中出现乱码。
解决方法解决中文字字幕在线中文乱码不卡的问题可以从以下几个方面着手:1.检查字幕文件编码:使用文本编辑器(如Notepad++)打开字幕文件,查看文件的编码方式。
确保字幕文件采用的编码方式与播放器兼容。
如果编码方式不正确,可以尝试将文件编码转换为UTF-8或GB2312等常用编码方式,并重新保存字幕文件。
2.更换播放器:如果在某个播放器中出现中文乱码问题,可以尝试使用其他播放器来播放视频。
选择一款支持多种字幕编码方式的播放器,提高字幕的兼容性。
3.使用外部字幕加载器:有些播放器内置的字幕加载功能可能不够强大,无法正确解析某些字幕文件。
此时可以考虑使用外部的字幕加载器,如PotPlayer、VLC等。
这些播放器通常具有更强大的字幕解析能力,可以解决中文字字幕在线中文乱码的问题。
4.联系资源服务器管理员:如果中文字字幕在线中文乱码问题是由服务器配置不正确引起的,可以联系资源服务器管理员,请求其对服务器进行相应调整。
中文乱码、英文数字正常,所有编码都试过了还是不能正常显示的解决办法
中⽂乱码、英⽂数字正常,所有编码都试过了还是不能正常显⽰的解决办法⼯作中发现从某公司的BI系统中导出的csv⽂件,其中所有的中⽂字符都不能正常显⽰,但是英⽂、数字、换⾏符、Tab均正常显⽰。
使⽤Word和Notepad++,试了所有的Encoding,都不能正常所显⽰。
于是怀疑是数据遭到了不正确的⼆次转换所致。
后经反复试验,发现果然如此。
原始数据在数据库中应该是以GBK形式储存,在导出csv⽂件时,程序错误使⽤了不⽀持中⽂的Windows-1252 to UTF8函数,把所有⽤GBK表⽰的两个字节的汉字拆开,每个字节当成⼀个带⾳调符号的拉丁字母(⼗进制128-255范围内的字符,⽐如ÈÕÏú),然后把这些拉丁字母转换成了UTF-8,导致乱码。
在纯英⽂的Windows系统环境下,可以直接使⽤Notepad++对此类乱码进⾏转码处理。
具体⽅法为:⼀、⾸先确保操作系统的System Locale也设为英语: Control Pannel -- Region -- Administrative -- Language for non-Unicode programs也需要设置为English。
⼆、使⽤Notepad++打开包含乱码的⽂件,点击菜单栏中的Encoding -- Convert to ANSI,将⽂件转换为系统默认的ANSI-US编码,即Windows-1252。
如果是中⽂系统,这步操作会将就⽂件转换为GBK,导致转换失败。
因为ANSI是⼀个⼴义的编码标准,根据不同的语⾔环境会变化,GBK也是⼀种ANSI编码标准。
三、再点击Encoding -- Character sets -- Chinese -- GB2312(Simplified Chinese),以GB2312编码解析⼆进制源码,就会看到熟悉的汉字!如果⼿边没有纯英⽂Windows系统的机器,可以尝试⽤Microsoft App Locale(Win 7) 或Locale Emulator (Win 10)来模拟纯英⽂系统环境。
c 语言 printf 打印中文乱码 -回复
c 语言printf 打印中文乱码-回复C 语言printf 打印中文乱码在日常的C 语言编程中,我们经常会使用printf 函数来输出信息,包括中文字符。
然而,有时候我们可能会遇到中文字符在输出中出现乱码的情况。
本文将详细讨论C 语言printf 函数打印中文字符乱码的原因,并提供解决方案。
首先,我们需要了解为什么中文字符会在printf 输出中出现乱码。
这主要是因为C 语言默认编码方式是ASCII 编码,而中文字符是采用Unicode 或者GBK 编码的。
因此,在printf 函数中直接输出中文字符时,C 语言无法正确地解析和显示这些字符,从而导致乱码。
为了解决这个问题,我们需要使用一些方法将中文字符转换为C 语言可以正确处理的格式。
下面是一种常用的解决方案。
首先,我们需要在代码文件的顶部添加一行注释,指定代码文件采用的字符编码方式。
例如,如果我们使用的是UTF-8 编码,可以在代码文件的顶部添加如下注释:c文件编码方式:UTF-8接下来,我们需要使用C 语言的宽字符类型wchar_t 来存储和处理中文字符。
wchar_t 类型可以存储Unicode 编码的字符,因此可以避免中文字符乱码的问题。
我们可以使用wchar_t 数组来存储需要输出的中文字符,然后使用wprintf 函数来打印这些字符。
下面是一个示例代码:c#include <stdio.h>#include <wchar.h>int main() {设置文件编码方式,此处使用UTF-8 编码文件编码方式:UTF-8定义存储中文字符的数组wchar_t chinese[] = L"中文字符";打印中文字符wprintf(L"ls\n", chinese);return 0;在上面的示例代码中,我们使用了wchar_t 类型的数组chinese 来存储中文字符。
注意,我们在中文字符的字符串前面使用了L 前缀来指定该字符串是宽字符类型的字符串。
request请求参数中文乱码处理
request请求参数中文乱码处理在网络开发中,我们经常会遇到request请求参数中出现中文乱码的问题。
这个问题的出现主要是因为在传输过程中,参数的编码格式没有正确处理,导致中文字符无法正确显示或解析。
解决这个问题的方法有很多种,下面我将介绍一些常用的处理方式。
一、设置请求头的编码格式在发送请求之前,我们可以设置请求头的编码格式为UTF-8,以确保中文字符能够正确传输。
具体的代码如下:```request.setHeader("Content-Type", "text/html; charset=UTF-8");```这样设置之后,服务器在接收到请求时会按照UTF-8的编码格式进行解析,从而避免了中文乱码的问题。
二、对请求参数进行编码转换如果在设置请求头的编码格式之后,仍然出现中文乱码的情况,我们可以尝试对请求参数进行编码转换。
具体的做法是先将参数按照ISO-8859-1编码格式进行解码,然后再按照UTF-8编码格式进行编码。
示例代码如下:```String param = new String(request.getParameter("param").getBytes("ISO-8859-1"), "UTF-8");```这样做的目的是将参数的编码格式统一为UTF-8,从而避免中文乱码的问题。
三、使用URL编码方式传输参数除了对请求参数进行编码转换之外,我们还可以使用URL编码方式传输参数。
URL编码是一种将特殊字符转换为%xx格式的编码方式,可以确保参数在传输过程中不会出现乱码。
示例代码如下:```String param = URLEncoder.encode(request.getParameter("param"), "UTF-8");```这样做的好处是在传输过程中,中文字符会被转换为%xx格式的字符串,从而避免了中文乱码的问题。
解决中文乱码的几种解决方法(推荐)
解决中⽂乱码的⼏种解决⽅法(推荐)⾸先说明我的特殊情况:1. 前台jsp中,我使⽤的是 form post 请求,设置了 enctype="multipart/form-data" ,页⾯编码格式都是utf-82. 后台中,我使⽤的是commons-fileUpload组件,ServletFileUpload 解析form表单和⽂件,3. 设置 request.setCharacterEncoding("UTF-8");4. 设置了ServletFileUpload .setHeaderEncoding("UTF-8");5.Tomcat 的配置下⾯ server.xml 也已经设置了 URIEncoding="UTF-8";⾄此,按道理所有的格式都匹配上了,前后对应,解析出来的肯定是utf-8,但是经过formfield解析出来后任然是ISO-8859-1格式的编码,enctype="multipart/form-data" 会将数据以2进制的编码格式传递,因此我断定是 ServletFileUpload 解析时出了问题,多番查找,我的问题缺少了⼀步String formFieldValue = fileItem.getString("UTF-8");JSP和Servlet的六种中⽂乱码处理⽅法⼀、表单提交时出现乱码:在进⾏表单提交的时候,经常提交⼀些中⽂,⾃然就避免不了出现中⽂乱码的情况,对于表单来说有两种提交⽅式:get和post提交⽅式。
所以请求的时候便有get请求和post请求。
每种⽅式都有着不同的解决⽅法,之所以出现乱码,原因就在于get 请求时,其传递给服务器的数据是附加在URL地址之后的;⽽post的请求时,其传递给服务器的数据是作为请求体的⼀部分传递给服务器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
乱码解析.txt25爱是一盏灯,黑暗中照亮前行的远方;爱是一首诗,冰冷中温暖渴求的心房;
爱是夏日的风,是冬日的阳,是春日的雨,是秋日的果。乱码对于使用非英语文字程序员基
本上是一直缠绕在身边的麻烦事,这个谁也避免不了。下面是我解决乱码时候的一点小经验。
欢迎指正
一、避免乱码的一些注意点:
1.尽量使用统一的编码,如果你是重头开发一个系统,特别是Java开发的,推荐从页面到数
据库再到配置文件都使用UTF-8进行编码,安全第一。
2.SetCharacterEncodingFilter的使用,这个东西不是万能的,但是没有它就会很麻烦,如
果是基于Servlet开发的东西,能用的就给它用上,省心。不过有一个注意的地方,这个Filter
只是对POST请求有效,GET一律忽略,不信你可以debug一下,看看它怎么做的,至于为什
么不过滤get请求,好象是它对GET请求是无能为力的。
3.就如上面所说,GET请求有问题,尽量使用POST请求,这个也是Web开发的一个基本要领:
Web Health Warning:Put All Destructive Actions Behind a POST method(from Agile Web
Development with Rails)
有点扯远了,不过少用GET,是会有回报滴。
4.JavaScript和Ajax乱码的避免,注意JavaScript默认是ISO8859的编码,避免JS/AJAX
乱码和GET一样,不要在URL里面使用中文,实在避免不了,就只能在生成链接的时候转码,
绝对不能想当然的认为SetCharacterEncodingFilter会帮你做什么事情。
5.尽早统一开发环境,早点模拟真实环境测试,这个好像也有跑题的嫌疑,但凡软件开发都
是这么干的,但仍然值得注意。我这出现过一次状况,程序是在Win下编译的,拿去Linux
上测试没问题,等实际部署的时候代码是在Linux下编译,结果乱码,秋后算帐总觉得有点
晚。
二、乱码发生的情况和应对措施
1.开发环境乱码
由于Java默认使用UTF-8编码,而且网上很多人都建议Struts开发的时候应尽量选
用UTF-8做为默认编码,而非GBK。IDE使 用Eclipse,在第一次使用Eclipse的时候应将
default text editor改为UTF-8编码,免得日后后悔再改就惨了,我本次开发的时候就忽
视了这一点,刚开始没注意,结果到快交工时乱码问题无法解决,导致将所有 的文件全部修
改一遍,呜……
自打使用Ubuntu,我就开心的笑阿,再也不用为搞这些乱码问题而烦恼^^(Ubuntu公
益广告)
2.POST请求的过滤
这个是最基本的了,每个Servlet系统基本都会用到这个东西。不过只对POST请求有
效,这个挺关键的。
使用SetCharacterEncodingFilter,这个很基础的一套过滤器,将所有来自页面的
POST请求全部过滤为UTF-8编码。
3. JSP ,HTML页面乱码
将JSP页面全部改为charset=UTF-8,这样可以保证与后台交互的时候都是UTF-8编码,
一般应用做了以上工作就基本可以应付了。
4.资源文件中汉字转化UTF-8字符问题
国际化问题,在使用资源文件的时候,由于中文在properties文件中无法被程序所识
别,需要将其进行转码,我在资源文件下面制作了一个很简单的 bat文件,每次修改资源文
件的时候都是在一个临时文件中修改,然后执行这个bat文件,将其转化并保存为所需要的
资源文件,这个动作挺烦的,也有项目组 成员使用一些插件,但是那些东西都是直接写UTF-8
码的,有时候反倒不方便,不过以后任务量巨大的时候可能会考虑使用。Bat文件内容: set
path=%path%;%JAVA_HOME%/bin/,native2ascii -encoding UTF-8
ApplicationResources_bk.txt > ApplicationResources_zh.properties
PS:上面的方法好老了,实际操作起来相当麻烦,现在基本都是使用Eclipse插件,
Eclipse3.1时使用PropertyEditor,但是这 个项目看上去好像停摆了,到Eclipse3.2时改
用了ResourseBundle,相当的强劲的一个插件,推荐使用。
5. GET请求乱码
如果在本项目中采用了get方式提交请求并附加参数,结果导致编码乱码,原因是
Tomcat默认请求编码是ISO8859,需要在Tomcat的配置文件 server.xml添加一个参数,
URIEncoding=”UTF-8”,这样请求中附件的参数就会以UTF-8来进行编码。
6.Ajax请求乱码
使用Ajax,JS也是默认使用ISO8859编码,所以在进行请求时遇到中文参数需要进行编
码,如:var url = "GetSelectListAction.do?queryData=subTrade" + "&queryId=" +
encodeURI(obj.value) + "&r=" + Math.random();
这里有两个地方需要注意:第一个地方是encodeURI(),方法,可以将参数进行转码,
默认是转化为UTF-8,如果需要转为其他码制,需要在方法中添加第二个参数。
第二个地方是Math.random(),由于Ajax有缓存机制,在接受请求的时候第一时间先
判断该请求的地址是否被访问过,如果被访问过则 直接使用缓存中的内容返回,这个东西很
讨厌,客户在访问过一次出错后以后每次出现的都是这个错误,所以在请求中给其增加一个
时间戳,只要可以随机生成一个 不同的字串就可以,保证Ajax每次都去访问服务器。
7. GET方法的另一个乱码问题
在项目即将交工的时候突然又出现乱码问题,发现对于超长的汉字做为参数传递仍然
会出现乱码问题,解决方法是采用java.net.URLEncoder的 Encode方法强制转码,缺点是
会使JSP页面代码相当的长,但是目前还没有其他好的解决办法,我想最好的办法就是不用
中文做为参数传递 :P,写法如:
8.乱码仍然是偶们的心病,一直牵动着大家的心,最近一位朋友说连接MSSQL数据库有乱码,
使用了很多办法,都没解决,后来重新下了个新的驱动搞定……
数据库乱码其实也很讨厌的,一般来说驱动问题比较常见,所以一旦碰到比较难缠的乱码可
以先考虑下换换驱动。也有如MySQL这种,直接连接的时候就需要显示进行编码转化的,这
个就要不同情况区别对待了。
//2007年11月30日添加
9.WebService乱码,由于对WebService不怎么熟悉,使用的是Weblogic提供的WebService
支持,乱码再次出现搞得手忙脚乱,而且无从下手,在自己系统上跑都没有问题,结果跑到
服务器上就全乱套,又无法调试,愁人。
反复尝试的过程就不说了,绝对比普通的Web开发麻烦的多。最终解决方法:
A.为WebService服务也加上一个filter,WebService也是走HTTP协议的,这个东西同
样有用,先得加上。
B.修改服务器上的环境变量,LANG=zh_CN.UTF-8,改成这个是为什么我仍然说的不是很
清楚,不过当时开发人员就是在Win下开发的,我在自己的Ubuntu上测试没问题,拿到Redhat
服务器上就不行,因为服务器上默认的是LANG=en_US.UTF-8,这个明显是不支持汉字的。
经过这两个步骤WebService乱码总算得到抑制,它主要的麻烦在于所有与协议有关的东
西都被Weblogic包办,里面做什么事情我们不好控制,所以只能采取这种比较笨的办法,虽
然解燃煤之急但无法寻根溯源的搞定它,说不定哪天又会出来搞鬼。果然又一次出现乱码问
题,经过比较环境变量发现服务器上的LC_CTYPE被修改了,所以强制改成LC_CTYPE=zh_CN。
修改环境变量的方法不到万不得已不推荐使用。