有一个接口是通过url比如:http://192.168.0.2:8080/new/xml?keyname=中文参数,而后面的中文参数会被用系统的默认字符集编码,然后传到tomcat
omcat目录conf目录下的server.xml打开,找到<Connector>标签,在最后添加URIEncoding="utf-8",效果如下:
<Connector
port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="100"
debug="0"connectionTimeout="20000"
disableUploadTimeout="true"URIEncoding=″utf-8″/>
系统都是编译为汇编代码 除了程序内部的文本没法编译成汇编而转换为指定文本编码 你指的是文本编码还有环境编码吧windows的国际化编码默认使用utf16le方案,这也是windows本身的默认locale编码,无法修改为utf8 除非修改windows处理程序内部文本的源代码
windows还有一个编码是本地化locale编码 如果使用非utf16le编码它就会用这套本地化编码去读程序文本信息.
utf16le是为了提高效率,因为这个方案是固定2字节 不像utf8一样1-3可变,而且是倒着排的迎合cpu,据说cpu也是倒着读
但一些本地化的程序没有兼容意识 不使用utf16le编码而使用的是gbk等本地编码,导致拿到其它locale的机器上乱码.这个就没办法了,要想更改只能更改程序内部的文本编码 怎么改我也不清楚.或者用相关的工具启动程序虚拟它的本地locale.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language
"Default"=""
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale
"(Default)"=""
只能修改本地locale不能修改windows默认locale,而且默认的locale是根本没必要修改的,因为默认的locale就是为了实现所有字符在同一套编码下.
这个键值不全 好像还有几个 你可以自己找找我只能帮到这了 最好直接修改注册表 intl面板有bug 从那修改会带来莫名错误
804简体中文,404繁体中文,409英文 其它charset代码你可以自己查
改这个很无聊 也没用 默认编码没必要改 非utf编码你改了也没用,windows的界面程序还依赖二进制mui语言文件,不如装语言包.否则在日文韩文系统下改了本地locale,系统自带工具的界面还是非中文
对于支持 UNICODE的应用程序,Windows 会默认使用 Unicode编码。对于不支持Unicode的应用程序Windows 会采用 ANSI编码 (也就是各个国家自己制定的标准编码方式,如对于西欧文字有ISO/IEC 8859编码,对于简体中文有GB 18030编码,对于繁体中文有BIG-5等),Windows 对于不支持Unicode的程序默认只能使用一种ANSI编码(实际上Windows所做的是通过所选择的默认代码页(Code Page), 将 ANSI编码翻译成Unicode)。英文版的系统应该是默认使用的是ISO/IEC 8859编码,所以当运行采用GB 18030编码的中文软件时会出现乱码。
想要更改默认使用的编码方式,可尝试以下步骤,
打开 控制面板(Control Panel)
打开 时钟、语言和区域 (Clock, Language and Region)
点击 区域 (Region)
选择 格式(Format) 选项卡,并将格式 改为 Chinese (Simplified, China) (这个其实可以不改,看你的喜好,更改此处会更改时间显示方式如 把日期 改为 YYYY/MM/DD 等,有些程序会通过此项来选择所显示的语言。重点的从第五步开始)
然后 点击打开 管理(Administrative) 选项卡
点击 更改系统区域设置 (Change system locale...) 按钮 (若出现用户账户控制对话框,请选择“允许”或“是”或者“确定”)
将区域设定 改为 Chinese (Simplified, China) 然后 点击确定,并重新启动计算机。
另外对于你说的txt文件。Windows 自带的记事本(Notepad.exe)会默认采用 ANSI 编码来处理文本文件,这也是由于大部分的文本文件都是用的各国自己的编码标准写成的。这个ANSI 编码的具体编码方式,也会因上面所讲述的设置变化而有所改变。若想要摆脱不同的 ANSI 编码所产生的困扰(如在中文的系统上写的TXT文档要在日文的系统上打开经常会出现乱码),可以在保存文本文件时 选择采用 UTF-8 (单字节8位的Unicode编码)。
另外,通过 Web浏览器(如 Internet Explorer)打开文本文档时,可以给你机会(如在页面上单击鼠标右键)选择你认为应该选择的编码方式。如下图,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)