标签: iso-8859-1

如何将字符串从 iso 8859-1 转换为 utf-8?C# Windows 手机 7 -

我的问题很简单,但目前我不知道该怎么做。我有一个 ISO-8859-1 格式的字符串,我需要将该字符串转换为 UTF-8。我需要在 Windows Phone 7 sdk 上用 C# 执行此操作。我该怎么做?谢谢

c# utf-8 iso-8859-1 windows-phone-7

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

来自 bcp 的 ISO-8859-1

我在 SQL Server 2008 R2 的表中获取了数据,并尝试将其输出到 CSV 文件。然后,我必须将此 CSV 文件导入第三方专有系统,该系统要求将此文件编码为 ISO-8859-1。特别是,我们得到了一些带有“\xc5\xa0”字符的值,它是 Windows-1252 中的代码点 8A,但没有出现在 ISO-8859-1 中。我想消除/修复这些字符(以及ISO 标准中未出现的所有其他 8_ 和 9_ 代码点),而无需手动修改文件。完全使用 SQL 或使用 BCP 参数来完成此操作将是理想的选择。

\n\n

我能得到的最接近的 BCP 是使用 Windows-1252:

\n\n
bcp tableName out outputFile.csv -c -C 1252 -t, -S server -T\n
Run Code Online (Sandbox Code Playgroud)\n\n

是否有一个代码页可以给 BCP 来输出 ISO-8859-1?或者我可以应用于表格的排序规则?现在它们正在与 进行整理SQL_Latin1_General_CP1_CI_AS,但我认为这只是我们的默认设置或者是有点任意应用的。

\n

sql-server bcp iso-8859-1 sql-server-2008

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

使用 pandas 读取 csv 文件时,utf-8 和 latin-1 将不起作用

我正在尝试读取包含法语字符(如 \xc3\xa9、\xc3\xa0 等)和带有 pandas 的电子邮件地址的 CSV 文件。

\n\n

使用 utf-8 编码会出现错误。使用 latin-1 编码消除了我的 \xc3\xa9。

\n\n

知道我应该使用什么编码吗?

\n\n

谢谢,\n克里斯

\n

csv utf-8 iso-8859-1 pandas

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

手动将字符从UTF-8转换为ISO-8859-1

我有角色"ö".如果我查看这个UTF-8表,我看到它有十六进制值F6.如果我查看Unicode表,我看到"ö"有索引E016.如果我添加两个,我得到代码点的十六进制值F6.这是二进制值 1111 0110.

1)如何从十六进制值F6到索引E016
2)我不知道怎么来F6两个字节C3 B6......

因为我没有得到结果,我试图走另一条路."ö"在ISO-8859-1中表示为"Ã".在UTF-8表中,我可以看到"Ã"具有十进制值195,""具有十进制值182.这是转换为位1100 0011 1011 0110.

处理:

  1. 查看表格并获取字符"ö"的unicode.从指数计算E016你得到的统一U+00F6.

  2. 根据wildplasser发布的算法,您可以计算编码的UTF-8值C3B6.

  3. 在二进制形式中,您得到的1100 0011 1011 0110对应于十进制值195182.

  4. 如果这些值被解释为ISO 8859-1(仅1个字节),那么您将获得"Ã".

PS:我还找到了这个链接,它显示了第2步的值.

utf-8 iso-8859-1 latin1

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

从ISO-8859-1字符中获取实际字符

我有一个文字:

Á example link.
Run Code Online (Sandbox Code Playgroud)

ISO-8859-1 ÁÁ.

现在我试图将其转换ÁÁ使用以下代码:

Charset utf8charset = Charset.forName("UTF-8");
Charset iso88591charset = Charset.forName("ISO-8859-1");

ByteBuffer inputBuffer = ByteBuffer.wrap(text.getBytes());

CharBuffer data = iso88591charset.decode(inputBuffer);

ByteBuffer outputBuffer = utf8charset.encode(data);
byte[] outputData = outputBuffer.array();
return new String(outputData);
Run Code Online (Sandbox Code Playgroud)

但它不会将其转换ÁÁ.

有任何方法可以达到这个目的吗?

另外我想知道,给定一个String我们可以确定它是哪个Charset?

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

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

特殊字符'\ u0098'使用charCodeAt()读作'\ u02dc'

我正在从Java创建test.js,如下所示.Test.js实现函数d(),它接收参数特殊字符〜('\ u0098');

函数d()应显示此特殊字符的charCodeAt(),即152.但是,它显示732.

请注意,字符152和732均由特殊字符〜表示,如下所示.

http://www.fileformat.info/info/unicode/char/098/index.htm

http://www.fileformat.info/info/unicode/char/2dc/index.htm

如何强制功能d()显示152而不是732?(charset问题?).谢谢

TEST.JAVA

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
    res.setHeader("Content-Type", "text/javascript;charset=ISO-8859-1");
    res.setHeader("Content-Disposition","attachment;filename=test.js");
    res.setCharacterEncoding("ISO-8859-1");
    PrintWriter printer=res.getWriter();
    printer.write("function d(a){a=(a+\"\").split(\"\");alert(a[0].charCodeAt(0));};d(\""); // Writes beginning of d() function
    printer.write('\u0098'); // Writes special character as parameter of d()
    printer.write("\");"); // Writes end of d() function
    printer.close();
}
Run Code Online (Sandbox Code Playgroud)

TEST.JS由TEST.JAVA创建

function d(a)
{
  a=(a+"").split("");
  alert(a[0].charCodeAt(0));
};
d("˜"); // Note special character representing '\u0098'
Run Code Online (Sandbox Code Playgroud)

的test.html

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<script type="text/javascript" charset="ISO-8859-1" src="test.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript unicode servlets iso-8859-1 character-encoding

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

Java的; 尝试将包含ISO-8859-1编码的String转换为UTF-8但文件是UTF-8

我不知道这是否有意义,但这就是我所做的.

我正在使用Eclipse使用UTF-8编码来处理我的所有文件.在其中一个中,我需要将一个字符串从ISO-8859-1转换为UTF-8.然而,该字符串是在文件本身内形成的(不是来自输入),这就是为什么我认为我的字符串以UTF-8开头并且转换不按照我预期的方式进行.

String原始内容是:

||3.2|2013-01-25T17:24:00|ingreso|PAGO EN UNA SOLA EXHIBICION|6386.21|MXN|7408.00|No identificado|NAUCALPAN DE JUÁREZ, ESTADO DE MEXICO|CAOS640116HT5|OSCAR MARTIN CARRERA|CTO. ORADORES 33|33|CD. SATELITE|NAUCALPAN DE JUÁREZ|ESTADO DE MEXICO|MÉXICO|53100|CTO. ORADORES 33|33|CD. SATELITE|NAUCALPAN DE JUÁREZ|ESTADO DE MEXICO|MÉXICO|53100|Persona Física con Actividad Empresarial|BAÑ930616R66|BAÑOMOBIL, S.A. DE C.V.|Av. 1° de Mayo|197|San. Lorenzo|TLALNEPANTLA DE BAZ|ESTADO DE MEXICO|MÉXICO|54047|1|NO APLICA|Dominio .com|Dominio por 1 año www.sanitariosportatiles.com|586.21|586.21|1|NO APLICA|Hospedaje 2 Gb|Hospedaje 2 Gb por 1 año www.sanitariosportatiles.com|5800.00|5800.00|IVA|16.00|1021.79|1021.79||
Run Code Online (Sandbox Code Playgroud)

哪个原始编码应该是ISO-8859-1,当我将其转换为UTF-8时应该生成.

||3.2|2013-01-25T17:05:06|ingreso|PAGO EN UNA SOLA EXHIBICION|6386.21|MXN|7408.00|No identificado|NAUCALPAN DE JUÃREZ, ESTADO DE MEXICO|CAOS640116HT5|OSCAR MARTIN CARRERA|CTO. ORADORES 33|33|CD. SATELITE|NAUCALPAN DE JUÃREZ|ESTADO DE …
Run Code Online (Sandbox Code Playgroud)

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

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

GoLang - 坚持使用ISO-8859-1 charset

我正在开发一个项目,我们需要将我们的信息保存在具有ISO-8859-1表的遗留数据库中.因此,在向数据库写入内容之前,我需要将其从UTF-8转换为ISO-8859-1,每次从数据库中检索它时,我都需要将其转换回UTF-8.

我试图使用库code.google.com/p/go-charset/作为我需要保留的每个文本字段的以下内容.

import (
  "bytes"
  "code.google.com/p/go-charset/charset"
  _ "code.google.com/p/go-charset/data"
  "fmt"
  "io/ioutil"
  "strings"
)

func toISO88591(utf8 string) string {
    buf := new(bytes.Buffer)

    w, err := charset.NewWriter("latin1", buf)
    if err != nil {
        panic(err)
    }
    defer w.Close()

    fmt.Fprintf(w, utf8)
    return buf.String()
}

func fromISO88591(iso88591 string) string {
    r, err := charset.NewReader("latin1", strings.NewReader(iso88591))
    if err != nil {
        panic(err)
    }

    buf, err := ioutil.ReadAll(r)
    if err != nil {
        panic(err)
    }

    return string(buf)
}
Run Code Online (Sandbox Code Playgroud)

问题是即使我使用函数toISO88591,数据仍然保持在UTF-8中.我在这次转换中做错了什么?

我的数据库是MySQL,我正在使用github.com/go-sql-driver/mysql驱动程序,其中包含以下连接参数:

<user>:<password>@tcp(<host>:<port>)/<database>?collation=latin1_general_ci
Run Code Online (Sandbox Code Playgroud)

最好的祝福!

mysql database utf-8 iso-8859-1 go

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

节点请求ISO-8859-1自节点4起不起作用

我得到一个返回latin1的网页 浏览器截图(来自网站的回复)

它与iconv-lite一起用于节点0.10.但现在有了

$ node -v
v4.1.1
Run Code Online (Sandbox Code Playgroud)

我不能将iconv-lite与最新的节点版本一起使用.所以我试着回到Iconv:

var Iconv  = require('iconv').Iconv;
...
  request(url, {
        uri: url,
        method: 'GET'}, function (err, resp, body) {
        var ic = new Iconv('ISO-8859-1', 'utf-8');
        var buf = ic.convert(body);
        body = buf.toString('utf-8');
Run Code Online (Sandbox Code Playgroud)

但这导致�ber它应该在哪里Über.

我不知道如何解决这个问题.欢迎任何提示.

encoding iso-8859-1 request node.js

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

MySQLdb无法初始化字符集utf-8错误

我试图使用MySQLdb驱动程序将一些阿拉伯语单词插入arabic_word我的hanswehr2数据库Maria DB 的列中.

我得到了一个latin-1 encode error.但在阅读之后,我发现MySQLdb驱动程序是默认的latin-1,我必须在函数中明确设置utf-8为我的选择字符集mariadb.connect().酱.

整个数据库设置为utf-8.

码:

def insert_into_db(arabic_word, definition):
    try:
        conn = mariadb.connect('localhost', 'root', 'xyz1234passwd', 'hans_wehr', charset='utf-8', use_unicode=True)
        conn.autocommit(True)
        cur = conn.cursor()
        cur.execute("INSERT INTO hanswehr2 (arabic_word , definition) VALUES (%s,%s)", (arabic_word, definition,))
    except mariadb.Error, e:
        print e
        sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

但是现在我收到以下错误:

/usr/bin/python2.7 /home/heisenberg/hans_wehr/main.py
Total lines 87672
(2019, "Can't initialize character set utf-8 (path: /usr/share/mysql/charsets/)")

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

我已经指定Python MySQL驱动程序使用utf-8字符,但它似乎忽略了这一点.

任何投入都将受到高度赞赏.

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

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