相关疑难解决方法(0)

如何让UTF-8在Java webapps中运行?

我需要在我的Java webapp(servlets + JSP,没有使用框架)中使用UTF-8来支持äöå常规芬兰语文本和???特殊情况下的西里尔字母.

我的设置如下:

  • 开发环境:Windows XP
  • 制作环境:Debian

使用的数据库:MySQL 5.x.

用户主要使用Firefox2,但Opera 9.x,FF3,IE7和谷歌Chrome也用于访问该网站.

怎么做到这一点?

java mysql encoding tomcat utf-8

363
推荐指数
3
解决办法
21万
查看次数

Linux未找到包含非ASCII字符的文件名错误

简单地说,如果文件名中包含特殊字符,我就无法下载托管在我的Web服务器中的文件,因为我得到了404. 在此输入图像描述

如果我创建一个名为olá.txt的文件,我似乎找不到正确的URL来下载它.我已经尝试了所有可能的方法来下载它:

mydomain.com/olá.txt 
mydomain.com/ol%C3%A1.txt
Run Code Online (Sandbox Code Playgroud)

我总是从Apache Tomcat 7.0.3获得404,但如果我将文件名更改为ola.txt,一切都很好.

我已经添加AddDefaultCharset utf-8到httpd.conf但我仍然有问题.

我的意思是应该可以下载名称中包含非ascii字符的文件,对吧?

更新:我的server.xml:

<Connector URIEncoding="UTF-8" compressableMimeType="text/javascript,text/css" 
     compression="on" compressionMinSize="2048" connectionTimeout="20000"
     noCompressionUserAgents="gozilla, travista" port="8080"
     protocol="HTTP/1.1" redirectPort="8443"/>
Run Code Online (Sandbox Code Playgroud)

更新:

echo -n olá | od -An -tx1 =  6f 6c c3 a1
echo $LANG = en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

区域:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

linux apache ascii

5
推荐指数
1
解决办法
1331
查看次数

标签 统计

apache ×1

ascii ×1

encoding ×1

java ×1

linux ×1

mysql ×1

tomcat ×1

utf-8 ×1