Nic*_*ght 1 python django utf-8
我将UTF-8数据添加到Django中的数据库.
当数据进入数据库时,一切看起来都很好 - 字符(例如):"Hello"是UTF-8编码的.
我的MySQL数据库是UTF-8编码的.当我通过选择来检查数据库中的数据时,我的示例字符串如下所示:?Hello?.我假设这显示字符为UTF-8编码.
当我从终端中的数据库中选择数据或导出为Web服务时,我的字符串如下所示:\ u201cHello World\u201d.
有谁知道如何才能正确显示我的角色?
我是否需要在某处执行一些额外的UTF-8编码?
谢谢,尼克.
u'\u201cHello World\u201d'
Run Code Online (Sandbox Code Playgroud)
是Unicode文本的正确Python表示形式“Hello World”.smartquote字符使用\uXXXX十六进制转义而不是逐字显示,因为将Unicode字符写入终端时经常出现问题,特别是在Windows上.(看起来MySQL试图将它们写入终端但是失败了,导致?占位符.)
在管理正确输入和输出Unicode字符的终端上,您可以确认它们是相同的:
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> u'\u201cHello World\u201d'==u'“Hello World”'
True
Run Code Online (Sandbox Code Playgroud)
就像字节字符串一样,\x序列与字符相同:
>>> '\x61'=='a'
True
Run Code Online (Sandbox Code Playgroud)
现在,如果您已经获得\u或\x序列转义Python并进入导出文件,那么您在导出时出错了.也许你repr()误用了某个地方.
| 归档时间: |
|
| 查看次数: |
1558 次 |
| 最近记录: |