相关疑难解决方法(0)

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

Python UnicodeDecodeError - 我误解了编码吗?

为什么这不起作用的任何想法?我真的认为'忽略'会做正确的事.

>>> 'add \x93Monitoring\x93 to list '.encode('latin-1','ignore')
Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
UnicodeDecodeError: 'ascii' codec can't decode byte 0x93 in position 4: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

python unicode ascii encode ignore

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

Python:UnicodeEncodeError:'latin-1'编解码器不能编码字符

我正处于一个我调用api的场景,并根据api的结果我为api中的每条记录调用数据库.我的api调用返回字符串,当我通过api为数据库调用返回的项时,对于某些元素,我得到以下错误.

Traceback (most recent call last):
  File "TopLevelCategories.py", line 267, in <module>
    cursor.execute(categoryQuery, {'title': startCategory});
  File "/opt/ts/python/2.7/lib/python2.7/site-packages/MySQLdb/cursors.py", line 158, in execute
    query = query % db.literal(args)
  File "/opt/ts/python/2.7/lib/python2.7/site-packages/MySQLdb/connections.py", line 265, in literal
    return self.escape(o, self.encoders)
  File "/opt/ts/python/2.7/lib/python2.7/site-packages/MySQLdb/connections.py", line 203, in unicode_literal
    return db.literal(u.encode(unicode_literal.charset))
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2013' in position 3: ordinal not in range(256)
Run Code Online (Sandbox Code Playgroud)

上面错误引用的代码段是:

         ...    
         for startCategory in value[0]:
            categoryResults = []
            try:
                categoryRow = ""
                baseCategoryTree[startCategory] = []
                #print categoryQuery % {'title': startCategory}; 
                cursor.execute(categoryQuery, {'title': …
Run Code Online (Sandbox Code Playgroud)

python unicode encode

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

UnicodeEncodeError: 'latin-1' 编解码器无法编码字符 '\u2013'(写入 PDF)

Unicode使用 python 写入 .pdf时,我遇到了变量内容问题。

它输出这个错误:

UnicodeEncodeError: 'latin-1' codec can't encode character '\u2013'
Run Code Online (Sandbox Code Playgroud)

基本上是什么被抓住了。

我曾尝试采用该变量,其中内容有一个“破折号”并用“ .encode('utf-8')”重新定义它,例如,如下所示:

Body = msg.Body

BodyC = Body.encode('utf-8')
Run Code Online (Sandbox Code Playgroud)

现在我收到以下错误:

Traceback (most recent call last):
  File "script.py", line 37, in <module>
    pdf.cell(200, 10, txt="Bod: " + BodyC,  ln=4, align="C")
TypeError: can only concatenate str (not "bytes") to str
Run Code Online (Sandbox Code Playgroud)

下面是我的完整代码,我怎么能简单地修复 ' Body' 变量内容中的Unicode 错误。

转换为utf-8or western, ' latin-1'之外的任何内容。有什么建议?

完整代码:

from fpdf import FPDF
import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(r"C:\User\language\python\Msg-To-PDF\test_msg.msg") …
Run Code Online (Sandbox Code Playgroud)

python pdf unicode fpdf python-3.7

6
推荐指数
2
解决办法
6219
查看次数

Python:UnicodeEncodeError:“latin-1”编解码器无法对位置中的字符进行编码

我收到此错误:

File "run.py", line 37, in <module>
 print str1
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 24-29: ordinal not in range(256)
Run Code Online (Sandbox Code Playgroud)

尝试简单地打印一些日语文本时。实际上,字符串看起来像这样:

\u5149\u6​​6dc\u65e5\u3067\u30e9\u30c6\u30d4\u30af\u30b7\u30fc\u4e71\u7372\u884c\u304d\u307e\u3059\u60d\u65ec\u3059\u60ec\u65ec\u3059\u60ec\u65ec\u65ec6\u50c\u60d305c \uff3e

它来自一个 JSON 文件。我怎样才能打印这个?

代码:

url = "http://www.blah.com/json"
try:
  result = simplejson.load(urllib2.urlopen(url))
except IOError:
  print "Cannot open URL"
  data = "error"

for msg in result["msg"]:
  str1 = msg["character"] + " : " + msg["message"]
  print str1
Run Code Online (Sandbox Code Playgroud)

repr(str1) 是

u'Anys : \u5149\u66dc\u65e5\u3067\u30e9\u30c6 \u30d4\u30af\u30b7\u30fc\u4e71\u7372\u884c\u304d\u307e\u3059 \u5e0c\u671b\u8005\u52df\u96c6\u4e2d\u3067\u3059\uff3e\uff3e'
Run Code Online (Sandbox Code Playgroud)

打印(sys.stdout.encoding)是

ISO-8859-1
Run Code Online (Sandbox Code Playgroud)

python unicode

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