标签: iso-8859-1

哪个代码集是/ etc/passwd存储的?可以是UTF-8吗?用户名有什么限制?

在现代的Unix或Linux系统上,如何判断/etc/passwd文件存储用户名的代码集?是否允许用户名包含重音字符(例如,ISO 8859-1或8859-15中的0x80..0xFF范围)?该/etc/passwd文件可以包含UTF-8吗?你能说它包含UTF-8吗?密码在加密或散列之前的纯文本怎么样?

显然,如果用户名和其他数据限制在0x00..0x7F范围内(并且无论如何都不包括0x00),则UTF-8,8859-1或8859-15之间没有区别; 存在的字符都编码相同.

另外,我在/etc/passwd基于Unix的机器上使用"用户识别和认证数据库(有时称为目录服务)"的缩写,通常通过PAM访问,有时在本地托管在其他机器上一个,但有时还是实际的本地硬盘上的文件,通常被称为/etc/passwd,通常由支持/etc/shadow".我还假设关于组数据库(通常是/etc/group文件)的等效问题具有相同的答案.

unix passwords utf-8 iso-8859-1

9
推荐指数
1
解决办法
1956
查看次数

enconding问题

我正在使用PHP开发一个网站,这些奇怪的字符""出现在我的页面中,就在它的顶部.我的代码是这样的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><?php echo '';?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Run Code Online (Sandbox Code Playgroud)

但是当我在浏览器中看到源代码时,它会显示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Run Code Online (Sandbox Code Playgroud)

我不知道是否与我正在使用的编码有任何关系,因为当我将charset更改为charset=utf-8它消失但我必须使用iso-8859-1

html php byte-order-mark utf-8 iso-8859-1

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

检测错误的UTF-8编码:要嗅探的坏字符列表?

我在两个应用程序之间共享一个sql-server 2010数据库.我们控制的一个应用程序,另一个应用程序是首先创建数据库的第三方应用程序.我们的应用程序是基于第三方Webmail应用程序构建的CRM.

该数据库包含varchar列,并且是latin-1编码的.第三方应用程序是用PHP编写的,并不关心正确编码数据,所以它将utf-8编码的字节填充到varchar列中,在那里它们被解释为latin-1并且看起来像垃圾.

我们的CRM应用程序是用.Net编写的,它自动检测数据库排序规则与内存中字符串的编码不同,因此当.Ne​​t写入数据库时​​,它会转换字节以匹配数据库编码.

所以...从我们的应用程序写入数据库的数据在数据库中看起来是正确的,但来自第三方应用程序的数据却没有.

当我们的应用程序写入FirstName =Céline时,它将作为Céline存储在数据库中

当webmail应用程序写入FirstName =Céline时,它将作为Céline存储在db中

我们的CRM应用程序需要显示在任一系统中创建的联系人.所以我正在编写一个EncodingSniffer类,它查找标记的字符,指示其编码不良的字符串并转换它们.

目前我有:

private static string[] _flaggedChars = new string[] { 
            "é" 
        };

这对于显示Céline作为Céline很有用,但我需要添加到列表中.

有没有人知道一个资源,以获得utf-8特殊字符可以解释为iso-8859-1的所有可能方式?

谢谢

澄清: 因为我在.Net工作.当从数据库加载到内存中时,该字符串将转换为Unicode UTF-16.因此,无论它是否在数据库中正确编码.它现在表示为UTF16字节.我需要能够分析UTF-16字节,并确定它们是否因为utf-8字节被塞入iso-8859-1数据库而被搞砸了....清楚如泥吧?

这是我到目前为止所拥有的.它清理了大多数错误编码字符的显示,但我仍然遇到É问题:Éric通过webmail存储在数据库中,但是在检测到错误编码并将其更改回来后,它显示为 ? ric看着有2500个联系人的用户,其中有数百个有编码问题,É是唯一没有正确显示的东西......

public static Regex CreateRegex()
    {
        string specials = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö";

        List<string> flags = new List<string>();
        foreach (char c in specials)
        {
            string interpretedAsLatin1 = Encoding.GetEncoding("iso-8859-1").GetString(Encoding.UTF8.GetBytes(c.ToString())).Trim();//take the specials, treat them as utf-8, interpret them as latin-1
            if (interpretedAsLatin1.Length > 0)//utf-8 chars made up of 2 bytes, interpreted as two single byte latin-1 …
Run Code Online (Sandbox Code Playgroud)

encoding utf-8 iso-8859-1

9
推荐指数
1
解决办法
6889
查看次数

使用ZXing对byte []进行编码和解码

我正在开发一个Android应用程序,我需要对使用ZXing应用程序生成的QRCode中的字节数组进行编码和解码.我的问题是我的消息解码与生成的字节数组不完全匹配.我尝试基于包含递增索引的字节数组创建QRCode,即

input = [0, 1, 2, ..., 124, 125, 126, 127, -128, -127,... -3, -2, -1, 0, 1, 2, ...]
Run Code Online (Sandbox Code Playgroud)

在对QRCode中的消息进行编码并在响应方侧对其进行解码后,我获得了以下字节数组输出:

output = [0, 1, 2, ..., 124, 125, 126, 127, 63, 63,... 63, 63, 63, 0, 1, 2, ...]
Run Code Online (Sandbox Code Playgroud)

所有"负"字节值都转为ASCII字符63:'?' 问号字符.我假设编码字符集出了问题,但由于我使用的是ISO-8859-1,每个人都声称是这类问题的解决方案(其他主题处理相同类型的问题在这里),我不知道看看我的错误在哪里,或者我是否在编码或解码过程中跳过了一步.这是我执行以编码给定字节数组的代码:

String text = "";
byte[] res = new byte[272];
for (int i = 0; i < res.length; i++) {
    res[i] = (byte) (i%256);
}
try {
    text = new String(res, "ISO8859_1");
} catch (UnsupportedEncodingException …
Run Code Online (Sandbox Code Playgroud)

java android iso-8859-1 character-encoding zxing

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

如何评估QR码的质量/正确性?(如何获得定量和定性QR码特征)

我需要评估和比较QR码生成库,并寻找逻辑参数来测量和比较输出.

我为什么需要这个?似乎当我给两个不同的QR发生器输入相同的输入时,似乎会产生不同的输出,而我作为人类无法分辨哪一个是正确的.

通过正确我的意思是我的输入编码/表示了多少"QR"数据,或者能够被便宜的手机(更大的块)读取.

处理二进制数据尤其如此,其中每个字节在0x7f(十进制127)或A0(十进制160)之间,偶尔处理0到0x20(十进制32)之间的值

上面提到的问题区域也恰好与ISO IEC 8859 1字符集的无效或不可打印字符相关联,因此库可能将我的输入作为一个字符串读取,或者将其编码为2字节UTF- 16个字,或谁知道!

如果有人知道我应该查看的QR码的哪些方面,或者更好的是,显示QR码诊断数据的应用程序将是完美的.

debugging encoding qr-code iso-8859-1 zxing

8
推荐指数
2
解决办法
1776
查看次数

将SQL Server中的文本值从UTF8转换为ISO 8859-1

我在SQL Server中有一个使用utf8 SQL_Latin1_General_CP1_CI_AS编码的列.如何转换和保存ISO 8859-1编码的文本?我想在SQL Server的查询中做一些事情.有小费吗?

Olá.Gostei做jogo.Quando"baixei"até©achei quenão iria curtir muito

sql sql-server encoding utf-8 iso-8859-1

8
推荐指数
2
解决办法
5万
查看次数

如何在带有iso_8859-1的C程序中输出度数符号?

我查了iso_8859-1的手册,找到了度数符号:

\n\n
Oct   Dec   Hex   Char   Description\n260   176   B0     \xc2\xb0     DEGREE SIGN\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码:

\n\n
int main( int argc, char *argv[])\n{\n    char chr = 176; //stores the extended ASCII of a symbol\n    printf("Character with an ascii code of 251: %c \\n", chr);\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但它打印出来的是?.

\n\n

如何在 C 程序中输出学位符号?我需要包含一些文件吗?

\n

c iso-8859-1

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

如何将mysql latin1转换为utf8

我继承了一个我需要进一步发展的网络系统.该系统似乎是由阅读PHP教程的两章并认为他可以编码的人创建的...

所以...网页本身是UTF8并显示和输入其中的所有内容.已使用UTF8字符集创建数据库表.但是,在配置中,有"SET NAMES LATIN1".换句话说,使用强制latin1编码将UTF8编码的字符串填充到数据库中.

有没有办法将这个混乱转换为实际存储在utf8并摆脱latin1?

我试过这个,但由于数据库表设置为utf8,这不起作用.也试过这个没有成功.

我可以通过使用latin1编码读取PHP中的所有表,然后将它们写回utf8中的新数据库,但我想尽可能避免使用它.

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

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

jQuery AJAX调用混乱了字符编码

我有一个输出JSON的servlet.servlet的输出编码是ISO-8859-1.我们的webapp中的页面也设置为ISO-8859-1.我会使用UTF-8,但这不在我的控制之内; 我们必须使用ISO-8859-1.

当我单独点击servlet时,我可以看到已经输出的JSON数据.字符编码是正确的,没有一个字符看起来很奇怪.

但是,当我通过AJAX调用servlet并使用检索到的数据来填充选择框时,我得到了(似乎)所有具有重音符号的字符(例如我带有重音符号或重音符号,音乐符号或抑扬音符号) ).当我在Firebug下的Net选项卡中查看响应时,我可以看到文本看起来很好.但是,当我使用该数据填充选择框时,我会得到带有问号的钻石.

这些字符都是有效的ISO-8859-1字符,所以我不明白为什么它们没有正确显示.

编辑

更多信息.我用GET,jQuery.ajax我已经开始scriptCharsetISO-8859-1.在服务器端,我已经明确地将编码设置为ISO-8859-1request.setCharacterEncoding("ISO-8859-1");

编辑

代码示例:

这就是我目前所拥有的.我scriptCharset: "ISO-8859-1"没有添加任何效果.

        jQuery.ajax({
            url: "/countryAndProvinceCodeServlet",
            data: data,
            dataType: "json",
            type: "GET",
            success: function(data) {
               ...
            },
        });
Run Code Online (Sandbox Code Playgroud)

我的servlet使用org.json.JSONObject并通过执行简单输出字符串response.getWriter().print(jsonObject.toString());

UPDATE

约每JSON,以及如何它应该是UTF-8的评论,我想看看我是否能获取数据为文本(所以设置dataTypetextjQuery.ajax),然后评估它作为自己的JSON(在Javascript).这似乎也不起作用!当我这样做时console.log,我仍然可以获得时髦的钻石.但是,当我在Firebug的Net选项卡下查看它时,一切都显示正常:

网络标签:

{"error":false,
 "provinces":{"DZ-01":"Adrar",
              "DZ-16":"Alger",
              "DZ-23":"Annaba",
              "DZ-44":"Aïn Defla",
              "DZ-46":"Aïn Témouchent",
              "DZ-05":"Batna",
              "DZ-07":"Biskra",
              "DZ-09":"Blida",
              "DZ-34":"Bordj Bou Arréridj",
              "DZ-10":"Bouira",
              "DZ-35":"Boumerdès",
              "DZ-08":"Béchar",
              "DZ-06":"Béjaïa",
              "DZ-02":"Chlef",
              "DZ-25":"Constantine",
              "DZ-17":"Djelfa",
              "DZ-32":"El Bayadh",
              "DZ-39":"El Oued",
              "DZ-36":"El Tarf", …
Run Code Online (Sandbox Code Playgroud)

java ajax jquery json iso-8859-1

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

Node.js将ISO8859-1编码为UTF-8

我有一个应用程序,允许用户将字符串持久化到数据库,这些字符串可能包含表情符号.我遇到的问题是表情符号,例如 will get stored in MySQL as 😊

当我使用PHP MySQL客户端检索此字符串并在Web浏览器中呈现它时,它可能因为Content-Type设置为UTF-8 而呈现得很好.当我尝试读取node.js中的字符串时,我回想起我认为ISO8859-1编码的文字😊.桌子上的字符集设置为latin1,这就是我从中获取ISO8859-1的地方.

在node.js中对字符串进行编码的正确方法是什么,以便在字符串中我可以看到表情符号而不是MySQL设置的编码console.log

mysql unicode utf-8 iso-8859-1 node.js

7
推荐指数
2
解决办法
2612
查看次数