相关疑难解决方法(0)

为Internet Explorer设置表单提交的字符编码

我有一个包含表单的页面.此页面的内容类型为text/html; charset = utf-8.我需要使用ISO-8859-1字符编码将此表单提交给服务器.这可能是Internet Explorer吗?

将accept-charset属性设置为表单元素,就像这样,适用于Firefox,Opera等,但不适用于IE.

<form accept-charset="ISO-8859-1">
  ...
</form>
Run Code Online (Sandbox Code Playgroud)

编辑:此表单由服务器A创建,并将提交给服务器B.我无法控制服务器B.

如果我将服务器A设置为使用charset ISO-8859-1提供内容,一切正常,但我正在寻找一种方法来使这项工作无需更改服务器A的编码.我有另一个关于在服务器A中设置编码的问题.

html forms encoding internet-explorer iso-8859-1

59
推荐指数
5
解决办法
14万
查看次数

$ _POST将从utf-8转换为Ãü等

我是新来的,所以如果我做错了什么,我道歉.

我有一个表单,用于将用户输入提交到另一个页面.用户需要键入ä,ö,é等...我已在文档中放置了以下所有内容:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
header('Content-Type:text/html; charset=UTF-8');
<form action="whatever.php" accept-charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)

我甚至尝试过:

ini_set('default_charset', 'UTF-8');
Run Code Online (Sandbox Code Playgroud)

当另一个页面加载时,我需要检查用户输入的内容如下:

if ( $_POST['field'] == $check ) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

但如果他输入类似'München'的东西,那么PHP会将'München'与'München'进行比较,即使它应该也不会触发TRUE.由于它在任何地方都指定了UTF-8,我猜测服务器正在转换为其他东西(我在另一个线程上读取的Windows-1252)因为它不支持或未配置为UTF-8.我在加载到生产之前在本地服务器上使用Apache; 我没有改变(也不知道如何)任何默认设置.我一直在研究Windows 7,使用Notepad ++进行编辑,用ANSI输入我的文件.如果我bin2hex('München')得到'4dc3bc6e6368656e'.

如果我echo $_POST['field'];正确显示'München'.

我到处都在研究解释,我发现我应该包括我已经拥有的那些标签/标题.

任何帮助深表感谢.

php encoding utf-8 character-encoding mojibake

13
推荐指数
1
解决办法
4万
查看次数

Java Jersey:接收表单参数作为字节数组

是否可以使用Jersey接收form参数作为字节数组?

我尝试了以下方法:

@Path("/someMethod")
@POST
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String someMethod(@FormParam("someParam") byte[] someParam)
{
    return "";
}
Run Code Online (Sandbox Code Playgroud)

但得到了这个错误:

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public java.lang.String SomeClass.someMethod(byte[]) at parameter at index 0
  SEVERE: Missing dependency for method public java.lang.String SomeClass.someMethod(byte[]) at parameter at index 0
  SEVERE: Method, public java.lang.String SomeClass.someMethod(byte[]), annotated with POST of resource, class SomeClass, is not recognized as valid resource method.
Run Code Online (Sandbox Code Playgroud)

如果我将byte []更改为String,一切正常.

我需要以byte []而不是String的形式接收数据的原因是因为数据可能使用不同的字符集进行编码.它取决于提交数据的HTML文档,我需要在服务器端正确解码数据(编码字符集在单独的参数中提交).

所以,如果我能以byte …

java encoding bytearray jersey character-encoding

6
推荐指数
1
解决办法
7692
查看次数