在过去的几天里,我一直在阅读Unicode和UTF-8,我经常遇到类似于这样的比较: int strlen_utf8(char *s) { int i = 0, j = 0; while (s[i]) { if ((s[i] & 0xc0) != 0x80) j++; i++; } return j; } 有人可以澄清与0xc0的比较,并检查是否是最重要的位? 谢谢! 编辑:ANDED,不比较,使用了错误的字;)
我试图将下面的tweet存储到长文本列/ utf8 charset / MySQL 5.5中。 数据库与MyISAM存储上。 我们也尝试了utf8mb4,utf16,utf32的字符集,但无法超越这个问题。 tweet="@Dorable_Dimples: Okay enough of those #IfYouWereMines I'm getting dep ressed. #foreveralone ?" lol yes mysql> ALTER DATABASE foo CHARACTER SET utf8 COLLATE utf8_bin; mysql> show variables like 'char%'; +————————–+——————————————-+ | Variable_name | Value | +————————–+——————————————-+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database […]
我遇到了Rails 3.0.1,Ruby 1.9.2和我的网站本地化的一些麻烦。 问题很简单,我在视图中有这样的东西: f.input :zip_code, :label => I18n.t('labels.zip_code') 和一个es.yml文件: es: labels: zip_code: "Este código postal no es valido." en.yml文件(它是纯粹的ASCII)没有问题,但是当网站设置为i18n.locale == 'es'我得到这个错误: incompatible character encodings: UTF-8 and ASCII-8BIT 我一直在寻找相当一段时间,但没有find一种方法来使用我的UTF-8翻译文件。 有人知道如何使它工作? 谢谢你的帮助。
我试图插入XML列(SQL SERVER 2008 R2),但服务器的抱怨: System.Data.SqlClient.SqlException(0x80131904): XMLparsing:行1,字符39,无法切换编码 我发现为了插入成功,XML列必须是UTF-16。 我使用的代码是: XmlSerializer serializer = new XmlSerializer(typeof(MyMessage)); StringWriter str = new StringWriter(); serializer.Serialize(str, message); string messageToLog = str.ToString(); 我如何序列化对象是UTF-8string? 编辑 :好的,抱歉的混合 – string需要在UTF-8。 你是对的 – 默认情况下是UTF-16,如果我尝试以UTF-8插入,它会通过。 所以问题是如何序列化成UTF-8。 例 尝试插入到SQL Server时,这会导致错误: <?xml version="1.0" encoding="utf-16"?> <MyMessage>Teno</MyMessage> 这不: <?xml version="1.0" encoding="utf-8"?> <MyMessage>Teno</MyMessage> 更新 我想出了当它的Xml列types的SQL Server 2008需要utf-8时,以及当你尝试插入的xml规范的encoding属性中的utf-16: 当你想添加utf-8 ,然后像下面这样向SQL命令添加参数: sqlcmd.Parameters.Add("ParamName", SqlDbType.VarChar).Value = xmlValueToAdd; […]
我怎样才能把UTF-8编码的string写入vba的文本文件中呢 Dim fnum As Integer fnum = FreeFile Open "myfile.txt" For Output As fnum Print #fnum, "special characters: äöüß" 'latin-1 or something by default Close fnum 应用程序级别是否有一些设置?
我正在尝试使用带有redirectI / O的Process.Start来使用string调用PowerShell.exe ,并使用UTF-8获取输出。 但我似乎无法做到这一点。 我试过了: 传递命令通过-Command参数运行 使用UTF-8编码将PowerShell脚本作为文件写入磁盘 使用带有BOM编码的UTF-8将PowerShell脚本作为文件写入磁盘 使用UTF-16将PowerShell脚本作为文件写入磁盘 在我的控制台应用程序和PowerShell脚本中设置Console.OutputEncoding 在PowerShell中设置$OutputEncoding 设置Process.StartInfo.StandardOutputEncoding 使用Encoding.Unicode而不是Encoding.UTF8 在任何情况下,当我检查给出的字节时,我得到不同的值到我原来的string。 我真的很喜欢解释为什么这不起作用。 这是我的代码: static void Main(string[] args) { DumpBytes("Héllo"); ExecuteCommand("PowerShell.exe", "-Command \"$OutputEncoding = [System.Text.Encoding]::UTF8 ; Write-Output 'Héllo';\"", Environment.CurrentDirectory, DumpBytes, DumpBytes); Console.ReadLine(); } static void DumpBytes(string text) { Console.Write(text + " " + string.Join(",", Encoding.UTF8.GetBytes(text).Select(b => b.ToString("X")))); Console.WriteLine(); } static int ExecuteCommand(string […]
我想在我的资源文件中使用这个 Unicode字符。 但无论我做什么,我都以dalvikvm崩溃(Android 2.3和4.2.2testing)结束: W/dalvikvm( 8797): JNI WARNING: input is not valid Modified UTF-8: illegal start byte 0xf0 W/dalvikvm( 8797): string: '📡' W/dalvikvm( 8797): in Landroid/content/res/StringBlock;.nativeGetString:(II)Ljava/lang/String; (NewStringUTF) E/dalvikvm( 8797): VM aborting F/libc ( 8797): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 8797 (cz.ipex…) 我在我的资源文件中试过这些版本: <string name="geolocation_icon" translatable="false">📡</string> <!– HTML –> <string name="geolocation_icon" translatable="false">\uD83D\uDCE1</string> <!– […]
我想写出一个文本文件。 而不是默认的UTF-8,我想写它编码为ISO-8859-1,这是代码页28591.我不知道如何做到这一点… 我用以下非常简单的代码写出我的文件: using (StreamWriter sw = File.CreateText(myfilename)) { sw.WriteLine("my text…"); sw.Close(); }
我从文件读取,处理string并保存到UTF-8文件时遇到问题。 这里是代码: try: filehandle = open(filename,"r") except: print("Could not open file " + filename) quit() text = filehandle.read() filehandle.close() 然后我对variables文本做一些处理。 接着 try: writer = open(output,"w") except: print("Could not open file " + output) quit() #data = text.decode("iso 8859-15") #writer.write(data.encode("UTF-8")) writer.write(text) writer.close() 这完全输出文件,但它在iso 8859-15根据我的编辑器。 由于同一编辑器将input文件(在variables文件名中)识别为UTF-8,我不知道为什么发生这种情况。 至于我的研究表明,评论线应该解决这个问题。 但是,当我使用这些行时,生成的文件主要是特殊字符中的乱码,带有波浪号的文字是西class牙文。 我真的很感激任何帮助,因为我难倒….
我有一个PHP脚本叫: http://cyber-flick.com/apiMorpho.php?method=getMorphoData&word=kot 以纯文本显示一些数据: CzÄ Ĺ Ä mowy: rzeczownik Przypadek: dopeĹ niacz Rodzaj: ĹźeĹ ski Liczba: mnoga 正如你可以看到,在适当的字符的地方有这样的“灌木丛”。 我想要做的是以某种方式显示,以便人们在浏览器中看到正确的UTF-8字符。 你可以将它封装在HMTL标签中,并设置为元UTF-8编码,但是由于从这个脚本接收到的数据将被进一步处理,我不想使用任何HTML标签,它应该只是纯文本结果集。 那么有没有办法告诉浏览器,这个文件是不使用元标签的UTF-8? PS。 文件以UTF-8编码,如果我手动将浏览器中的字符集编码更改为UTF-8,则显示正常,但是我想要实现的是人们不需要这样做。