标签: iso-8859-1

Perl CGI脚本默认使用什么内容编码?

我正在修改用Perl编写的成熟的CGI应用程序,并且出现了内容编码的问题.浏览器报告内容是iso-8859-1编码,并且应用程序声明iso-8859-1作为HTTP标头中的字符集,但似乎从未实际进行过编码.perldoc教程(编码,编码,打开)中描述的各种编码技术都没有在代码中使用,所以我对文档实际编码方式有点困惑.

如上所述,该应用程序非常成熟,可能早于许多当前的编码方法.有谁知道我应该寻找的任何遗留或弃用的技术?当开发人员没有提供方向时,Perl假设/默认为什么编码?

谢谢

perl content-encoding iso-8859-1

3
推荐指数
1
解决办法
2121
查看次数

ASP.NET 2中的ISO-8859-1到UTF8

我们有一个页面将数据发布到ISO-8859-1中的ASP.NET应用程序

<head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <title>`Sample Search Invoker`</title>
</head>
<body>

<form name="advancedform" method="post" action="SearchResults.aspx">
    <input class="field" name="SearchTextBox" type="text" />
    <input class="button" name="search" type="submit" value="Search &gt;" />
</form>
Run Code Online (Sandbox Code Playgroud)

并在后面的代码(SearchResults.aspx.cs)

System.Collections.Specialized.NameValueCollection postedValues = Request.Form;
String nextKey;
for (int i = 0; i < postedValues.AllKeys.Length; i++)
{
    nextKey = postedValues.AllKeys[i];

    if (nextKey.Substring(0, 2) != "__")
    {
        // Get basic search text
        if (nextKey.EndsWith(XAEConstants.CONTROL_SearchTextBox))
        {
            // Get search text value
            String sSentSearchText = postedValues[i];

            System.Text.Encoding iso88591 = System.Text.Encoding.GetEncoding("iso-8859-1");
            System.Text.Encoding utf8 = System.Text.Encoding.UTF8;

            byte[] …
Run Code Online (Sandbox Code Playgroud)

asp.net encoding utf-8 iso-8859-1

3
推荐指数
1
解决办法
2万
查看次数

将UTF8字符串编码为ISO-8859-1字符串(VB.NET)

我需要使用VB.NET将UTF8字符串转换为ISO-8859-1字符串.

任何例子?


强调文本我尝试过拉丁语功能而不是运行.我收到错误的字符串.

我的情况是我需要使用API​​发送短信.

现在我有这个代码:

        baseurl = "http://www.myweb.com/api/sendsms.php"
        client = New WebClient
        client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
        client.Encoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
        client.QueryString.Add("user", user)
        client.QueryString.Add("password", pass)
        client.QueryString.Add("alias", myAlias)
        client.QueryString.Add("dest",  mobile)
        textoSms = Me.mmTexto.Text
        textoSms = System.Web.HttpUtility.UrlEncode(textoSms)
        client.QueryString.Add("message", textoSms)
        data = client.OpenRead(baseurl)
        reader = New StreamReader(data)
        s = reader.ReadToEnd()
        data.Close()
        reader.Close()
Run Code Online (Sandbox Code Playgroud)

但不是运行...我收到不正确的消息.例如

如果我写:mañana返回maa ana

如果我写aigüa返回aiga

vb.net utf-8 iso-8859-1 character-encoding

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

MD5在Java中使用ISO-8859-1字符串哈希

我正在实施名为Suomen Verkkomaksut的数字支付服务界面.有关付款的信息将通过HTML表单发送给他们.为了确保在传输过程中没有人混淆信息,MD5哈希在两端都会计算出一个没有发送给他们的特殊密钥.

我的问题是,由于某种原因,他们似乎决定传入的数据是用ISO-8859-1而不是UTF-8编码的.我发送给它们的哈希是用UTF-8字符串计算的,因此它与它们计算的哈希值不同.

我尝试使用以下代码:

String prehash = "6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ|13466|123456||Testitilaus|EUR|http://www.esimerkki.fi/success|http://www.esimerkki.fi/cancel|http://www.esimerkki.fi/notify|5.1|fi_FI|0412345678|0412345678|esimerkki@esimerkki.fi|Matti|Meikäläinen||Testikatu 1|40500|Jyväskylä|FI|1|2|Tuote #101|101|1|10.00|22.00|0|1|Tuote #202|202|2|8.50|22.00|0|1";
String prehashIso = new String(prehash.getBytes("ISO-8859-1"), "ISO-8859-1");

String hash = Crypt.md5sum(prehash).toUpperCase(); 
String hashIso = Crypt.md5sum(prehashIso).toUpperCase();
Run Code Online (Sandbox Code Playgroud)

不幸的是,两个散列都与值C83CF67455AF10913D54252737F30E21相同.根据Suomen Verkkomaksut的文档,此示例案例的正确值为975816A41B9EB79B18B3B4526569640E.

有没有办法用ISO-8859-1字符串计算Java中的MD5哈希?

更新:在等待Suomen Verkkomaksut的回答时,我发现了另一种制作哈希的方法.Michael Borgwardt纠正了我对字符串和编码的理解,并且我找到了一种从byte []创建哈希的方法.

Apache Commons是一个很好的库源,我发现它们的DigestUtils类有一个md5hex函数,它接受byte []输入并返回一个32字符的十六进制字符串.

由于某种原因,这仍然无效.这两个都返回相同的值:

DigestUtils.md5Hex(prehash.getBytes());
DigestUtils.md5Hex(prehash.getBytes("ISO-8859-1"));
Run Code Online (Sandbox Code Playgroud)

java md5 utf-8 iso-8859-1

3
推荐指数
1
解决办法
3667
查看次数

使用PHP中的ISO-8859-1编码拉丁字符

我想使用PHP 将包含拉丁字符(如à)的URL编码为ISO-8859-1 .

编码的字符串将用于执行对Web服务的请求.因此,如果请求是:

http://www.mywebservice.com?param

编码的字符串应该是:

http://www.mywebservice.com?param=%E0

我尝试过使用PHP的函数urlencode(),但它返回以UTF-8编码的输入:

http://www.mywebservice.com?param=%C3%A0

php iso-8859-1 url-encoding

3
推荐指数
1
解决办法
4974
查看次数

使用iconv在C / C ++中将字符串转换为ISO-8859-1

我想将字符串从GBK字符集转换为ISO-8859-1。

我尝试使用iconv库,但iconv()始终返回-1,并errno解码为“无效或不完整的多字节或宽字符”

我该如何实现?

c c++ iso-8859-1 iconv

3
推荐指数
1
解决办法
6087
查看次数

encodeURIComponent使用ISO-8859-1编码为javascript字符串

我一直在尝试这项工作但到目前为止还没有运气.我不清楚最新情况,但我会尽力解释.我的服务器端jsp页面都使用ISO-8859-1编码,我不想改变.所有请求/响应都是xml格式.POST请求当前正在使用javascript escapeURIComponent函数,一切都运行良好,直到有一个特殊字符,例如字符串:hello°world©®™test.当这个字符串escapeURIComponent从IE中被POST(与数据部分一起),并且当重新加载页面时应该获得相同的字符串,该字符串将呈现为:hello°world©’¢test

我假设发生这种情况是因为encodeURIComponent函数将字符串编码为UTF-8,而不是ISO-8859-1,并且当页面呈现时,UTF-8被解释为ISO-8859-1字符,因此显示字符串乱码.

有没有办法解决这个问题,而无需将网页转换为UTF-8字符集?

POST请求的Content-Type设置为"application/x-www-form-urlencoded"

提前致谢.

javascript utf-8 iso-8859-1 character-encoding

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

确定ISO-8859-1与US-ASCII字符集

我想确定是否使用

PrintWriter pw = new PrintWriter(outputFilename, "ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)

要么

PrintWriter pw = new PrintWriter(outputFilename, "US-ASCII");
Run Code Online (Sandbox Code Playgroud)

我正在阅读所有有关字符集的内容,以确定我必须通过java代码以相同编码创建的示例文件的字符集.

当我的示例文件包含"欧洲"字母(挪威语:åøæ)时,以下命令告诉我文件编码为"iso-8859-1"

file -bi example.txt
Run Code Online (Sandbox Code Playgroud)

但是,当我获取同一个示例文件的副本并修改它以包含不同的数据时,没有任何挪威文本(假设我将"Bjørn"替换为"Bjorn"),那么相同的命令告诉我文件编码是" US-ASCII".

file -bi example-no-european-letters.txt
Run Code Online (Sandbox Code Playgroud)

这是什么意思?如果没有"欧洲"字符,ISO-8859-1在实践中是否与US-ASCII相同?

我应该只使用charset"ISO-8559-1",一切都会好吗?

java ascii iso-8859-1 character-encoding character-set

3
推荐指数
1
解决办法
8031
查看次数

如何从 axios 获取 utf-8 中的值在 node.js 中接收 iso-8859-1

我有以下代码:

const notifications = await axios.get(url)
const ctype = notifications.headers["content-type"];
Run Code Online (Sandbox Code Playgroud)

ctype 接收“text/json; charset=iso-8859-1”

我的字符串是这样的:“'Ol?Matheus,est?pendente。',”

如何从 iso-8859-1 解码到 utf-8 而不会出现这些错误?

谢谢

utf-8 iso-8859-1 character-encoding node.js axios

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

为什么我可以将 UTF-8 字节字符串解码为 ISO8859-1 并再次返回而没有任何 UnicodeEncodeError/UnicodeDecodeError?

以下如何在 Python 中没有任何错误地工作?

>>> '??'.encode('UTF-8').decode('ISO8859-1')
'ä½\xa0好'
>>> _.encode('ISO8859-1').decode('UTF-8')
'??'
Run Code Online (Sandbox Code Playgroud)

我原以为它会因 UnicodeEncodeError 或 UnicodeDecodeError 而失败

是否有 ISO8859-1 和 UTF-8 的某些属性,以便我可以采用任何 UTF-8 编码字符串并将其解码为 ISO8859-1 字符串,稍后可以将其反转以获得原始 UTF-8 字符串?

我正在使用仅支持 ISO8859-1 字符集的旧数据库。通过将 UTF-8 编码的字符串解码为 ISO8859-1,并将生成的垃圾字符串存储在数据库中,开发人员似乎能够在该数据库中存储中文和其他语言。查询该数据库的下游系统必须在 ISO8859-1 中对垃圾字符串进行编码,然后使用 UTF-8 对结果进行解码以获得正确的字符串。

我会假设这样的过程根本行不通。

我错过了什么?


python utf-8 iso-8859-1

3
推荐指数
1
解决办法
95
查看次数