标签: utf-8

将json.dumps中的utf-8文本保存为UTF8,而不是\ u转义序列

示例代码:

>>> import json
>>> json_string = json.dumps("??? ????")
>>> print json_string
"\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"
Run Code Online (Sandbox Code Playgroud)

问题是:它不是人类可读的.我(智能)用户想要使用JSON转储验证甚至编辑文本文件.(我宁愿不使用XML)

有没有办法将对象序列化为utf-8 json字符串(而不是\ uXXXX)?

这没有帮助:

>>> import json
>>> json_string = json.dumps("??? ????")
>>> print json_string
"\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"
Run Code Online (Sandbox Code Playgroud)

工作,但如果任何子对象是python-unicode而不是utf-8,它将转储垃圾:

>>> import json
>>> json_string = json.dumps("??? ????")
>>> print json_string
"\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"
Run Code Online (Sandbox Code Playgroud)

python unicode json escaping utf-8

394
推荐指数
11
解决办法
29万
查看次数


什么是Unicode,UTF-8,UTF-16?

什么是Unicode的基础以及为什么需要UTF-8或UTF-16?我在Google上研究了这个并在这里搜索过,但我不清楚.

在VSS进行文件比较时,有时会有消息说这两个文件有不同的UTF.为什么会这样呢?

请简单解释一下.

unicode encoding utf-8 utf-16

368
推荐指数
8
解决办法
28万
查看次数

如何让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万
查看次数

设置默认的Java字符编码?

如何以编程方式正确设置JVM(1.5.x)使用​​的默认字符编码?

我已经读过-Dfile.encoding=whatever以前用于旧JVM的方法......由于我不会进入的原因,我没有那么奢侈.

我试过了:

System.setProperty("file.encoding", "UTF-8");
Run Code Online (Sandbox Code Playgroud)

并且属性已设置,但它似乎不会导致下面的最终getBytes调用使用UTF8:

    System.setProperty("file.encoding", "UTF-8");

    byte inbytes[] = new byte[1024];

    FileInputStream fis = new FileInputStream("response.txt");
    fis.read(inbytes);
    FileOutputStream fos = new FileOutputStream("response-2.txt");
    String in = new String(inbytes, "UTF8");
    fos.write(in.getBytes());
Run Code Online (Sandbox Code Playgroud)

java utf-8 character-encoding

342
推荐指数
10
解决办法
62万
查看次数

Unicode(UTF-8)在Python中读取和写入文件

我在理解文本读取和写入文件时遇到了一些大脑失败(Python 2.4).

# The string, which has an a-acute in it.
ss = u'Capit\xe1n'
ss8 = ss.encode('utf8')
repr(ss), repr(ss8)
Run Code Online (Sandbox Code Playgroud)

("u'Capit\xe1n'","'Capit\xc3\xa1n'")

print ss, ss8
print >> open('f1','w'), ss8

>>> file('f1').read()
'Capit\xc3\xa1n\n'
Run Code Online (Sandbox Code Playgroud)

所以我输入Capit\xc3\xa1n我最喜欢的编辑器,在文件f2中.

然后:

>>> open('f1').read()
'Capit\xc3\xa1n\n'
>>> open('f2').read()
'Capit\\xc3\\xa1n\n'
>>> open('f1').read().decode('utf8')
u'Capit\xe1n\n'
>>> open('f2').read().decode('utf8')
u'Capit\\xc3\\xa1n\n'
Run Code Online (Sandbox Code Playgroud)

我在这里不理解什么?显然,我缺少一些重要的魔法(或者很有道理).在文本文件中键入什么来获得正确的转换?

我真正没有想到的是,UTF-8表示的重点是,如果你真的不能让Python识别它,那么它来自外部.也许我应该只是JSON转储字符串,并使用它,因为它有一个asciiable表示!更重要的是,当从文件进入时,Python会识别和解码这个Unicode对象的ASCII表示吗?如果是这样,我怎么得到它?

>>> print simplejson.dumps(ss)
'"Capit\u00e1n"'
>>> print >> file('f3','w'), simplejson.dumps(ss)
>>> simplejson.load(open('f3'))
u'Capit\xe1n'
Run Code Online (Sandbox Code Playgroud)

python unicode io utf-8

305
推荐指数
10
解决办法
62万
查看次数

MySQL中的utf8mb4和utf8字符集有什么区别?

MySQL中utf8mb4utf8charsets有什么区别?

我已经知道ASCII,UTF-8,UTF-16UTF-32编码; 但我很想知道utf8mb4编码组与MySQL服务器中定义的其他编码类型的区别.

是否有任何特殊利益/建议使用utf8mb4而不是utf8

mysql encoding utf-8 character-encoding utf8mb4

294
推荐指数
5
解决办法
16万
查看次数

检测编码并使所有内容UTF-8

我正在从各种RSS源中读出大量文本并将它们插入到我的数据库中.

当然,在馈送中使用了几种不同的字符编码,例如UTF-8和ISO-8859-1.

不幸的是,有时文本的编码存在问题.例:

  1. "Fußball"中的"ß"应该在我的数据库中看起来像这样:"Ÿ".如果是"Ÿ",则会正确显示.

  2. 有时,"Fußball"中的"ß"在我的数据库中看起来像这样:"ß".当然,它显示错误.

  3. 在其他情况下,"ß"保存为"ß" - 所以没有任何改变.然后它也显示错误.

我该怎么做才能避免案例2和3?

如何使所有内容编码相同,最好是UTF-8?我utf8_encode()什么时候必须使用,什么时候必须使用utf8_decode()(很清楚效果是什么,但什么时候必须使用这些功能?)什么时候我必须对输入什么都不做?

你能帮助我并告诉我如何使一切编码相同吗?也许有功能mb_detect_encoding()?我能为此写一个函数吗?所以我的问题是:

  1. 如何找出文本使用的编码?
  2. 如何将其转换为UTF-8 - 无论旧的编码是什么?

像这样的功能会起作用吗?

function correct_encoding($text) {
    $current_encoding = mb_detect_encoding($text, 'auto');
    $text = iconv($current_encoding, 'UTF-8', $text);
    return $text;
}
Run Code Online (Sandbox Code Playgroud)

我已经测试了它,但它不起作用.它出什么问题了?

php encoding utf-8 character-encoding

293
推荐指数
7
解决办法
34万
查看次数

UTF-8:一般?滨?Unicode的?

我试图找出我应该用于各种类型数据的排序规则.我将存储的100%内容是用户提交的.

我的理解是我应该使用UTF-8通用CI(Case-Insensitive)而不是UTF-8 Binary.但是,我无法找到UTF-8 General CI和UTF-8 Unicode CI之间的区别.

  1. 我应该将用户提交的内容存储在UTF-8 General或UTF-8 Unicode CI列中吗?
  2. UTF-8二进制适用于哪种类型的数据?

mysql collation utf-8

271
推荐指数
5
解决办法
16万
查看次数

如何检查字符串是unicode还是ascii?

我在Python中需要做些什么来确定字符串的编码方式?

python unicode encoding utf-8

257
推荐指数
6
解决办法
31万
查看次数