Articles of 字符编码

在Windows上使用UTF-8编码的TCL文件

我们尝试将TCL / TK应用程序的源文件转换为UTF-8,因为这是我们用于开发(Linux和OSX)的平台的默认字符集。 我们现在的问题是,Windows使用“cp1252”作为系统编码,并因此显示标签和button(例如)德语变音符号错误。 我们发现的唯一解决scheme是在所有的“希望”调用和“源”命令中加上“-encoding UTF-8”。 (也有“编码系统UTF-8”,但文件说,你不应该使用它,因为系统调用的问题) 有没有办法告诉TCL,它应该使用UTF-8作为所有源文件的默认编码,或者可能是针对这个问题的另一种解决scheme?

FreeTDS:如何设置运行存储过程的参数字符集

我有一个C程序通过FreeTDS连接到MSSQL数据库。 我试图执行一个存储过程与varchar参数设置为“SaídaLiberada”,但它存储与奇怪的字符在MS SQL,如上面的截图: 这是我的freetds.conf: # $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $ # # This file is installed by FreeTDS if no file by the same # name is found in the installation directory. # # For information about the layout of this file and its settings, # see the freetds.conf manpage "man freetds.conf". […]

Sendmail / procmail – 获取邮件发件人和邮件主题,utf8编码问题

我的.procmailrc(真的很简单): :0c | $HOME/send_sms.sh "`formail -xFrom:`" "`formail -xSubject:`" 因此,名为“mail@domain.com”的发件人发送邮件的主题是“Subject testąść”。 脚本“send_sms.sh”收到: 发件人:=? =?UTF-8?Q?mail@domain.com?= <mail@domain.com> Subject: =?UTF-8?Q?Subject_test_=C4=85=C5=9B=C4=87?= 我应该如何修改我的.procmailrc以获得明文? 或者在我的脚本send_sms.sh中转换这个?

写入文件时的UnicodeEncodeError

我有一个python脚本,在我的本地机器(OS X)上效果很好,但是当我将它复制到服务器(Debian)时,它不能按预期工作。 该脚本读取一个xml文件并以新格式打印内容。 在我的本地机器上,我可以使用stdout将脚本运行到terminal或文件(即> myFile.txt ),两者都可以正常工作。 然而,在服务器上( ssh ),当我打印到terminal一切正常,但打印到文件(这是我真正需要)给UnicodeEncodeError: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 。 所有的文件都是utf-8编码,并且在魔术评论中声明了utf-8。 如果我在列表中打印str对象(这是我通常用来获取编码问题的一个技巧),它也会引发同样的错误。 如果使用print( x.encode('utf-8') ) ,那么它会打印代码样式的位(例如b'1' b'\xd0\x9a\xd0\xb0\xd0\xbc\xd0\xb0' ) 。 如果我在shell中$ export PYTHONIOENCODING=utf-8 (如某些SOpost中所build议的),那么我得到一个二进制文件: 1 <D0><9A><D0><B0><D0><BC><D0><B0> 。 我已经检查了所有的localevariables,并且相关的variables与我在本地机器上的variables相匹配。 我可以简单地在本地处理文件并上传,但我真的很想了解这里发生的事情。 由于Python代码在一台计算机上工作,我不确定它是相关的,但我在下面添加它: # -*- encoding: utf-8 -*- import sys, xml.etree.ElementTree as ET corpus = ET.parse('file.xml') […]

Hibernate + MySQL:如何设置数据库和表的编码utf-8

我的系统运行在Linux Mandriva ,RDBMS – MySQL 5上 。 我需要以UTF-8创build数据库和表格。 这里是hibernate.cfg.xml的一个片段 – … <property name="hibernate.hbm2ddl.auto">create-drop</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.characterEncoding">utf8</property> … my.cnf – # The MySQL server [mysqld] … default-character-set=cp1251 character-set-server=cp1251 collation-server=cp1251_general_ci init-connect="SET NAMES cp1251" skip-character-set-client-handshake … [mysqldump] … default-character-set=cp1251 … 例如,一些课程 – @Entity @Table(name = "USER") public class User { @Id @Column(name = "USERID") @GeneratedValue(strategy = GenerationType.AUTO) […]

编码cp-1252为utf-8?

我正在尝试编写一个将在Linux服务器上运行的Java应用程序,但是它将使用cp-1252作为字符集来处理旧版Windows计算机上生成的文件。 反正有编码这些文件为utf-8而不是它生成的cp-1252?

GCC 4.7源字符编码和执行字符编码string文字?

Linux / x86_64上的GCC 4.7是否具有默认字符编码,通过该编码validation并解码C源文件中string文字的内容? 这是可configuration的吗? 而且,当将string数据从string文字链接到输出的数据部分时,它是否具有默认的执行字符编码? 这是可configuration的吗? 在任何configuration中,都可能有一个与执行字符编码不同的源字符编码? (gcc会在字符编码之间进行转码吗?)

有没有办法从UTF8转换为ISO-8859-1?

我的软件得到了一些UTF8string比我需要转换为ISO 8859 1.我知道UTF8域大于iso 8859.但UTF8中的数据已经从ISO上转换,所以我不应该错过任何东西。 我想知道是否有一个简单的/直接的方式从UTF8转换为iso-8859-1。 谢谢

java控制台输出的默认字符编码

Java如何确定用于System.out的编码? 鉴于以下课程: import java.io.File; import java.io.PrintWriter; public class Foo { public static void main(String[] args) throws Exception { String s = "xxäñxx"; System.out.println(s); PrintWriter out = new PrintWriter(new File("test.txt"), "UTF-8"); out.println(s); out.close(); } } 它被保存为UTF-8,并在Windows系统上使用javac -encoding UTF-8 Foo.java进行编译。 之后在git-bash控制台(使用UTF-8字符集)我做: $ java Foo xxõ±xx $ java -Dfile.encoding=UTF-8 Foo xx├ñ├▒xx $ cat test.txt xxäñxx $ java Foo […]

MSVC上的双字节编码(std :: codecvt):引导字节无法识别

我想在Microsoft标准库实现(MSVC11)中使用std::codecvt<wchar_t, char, std::mbstate_t>::in()将双字节代码页中编码的string转换为UTF-16string。 例如,考虑以下程序: #include <iostream> #include <locale> int main() { // KATAKANA LETTER A (U+30A2) in Shift-JIS (Codepage 932) // http://msdn.microsoft.com/en-us/goglobal/cc305152 char const cs[] = "\x83\x41"; std::locale loc = std::locale("Japanese"); // Output: "Japanese_Japan.932" (as expected) std::cout << loc.name() << '\n'; typedef std::codecvt<wchar_t, char, std::mbstate_t> cvt_t; cvt_t const& codecvt = std::use_facet<cvt_t>(loc); wchar_t out = 0; […]