处理含有 "问号"(�)的字符串时的编码问题
我正在从HttpWebRequest的响应中解析一些Web内容. 此Web内容使用charset ISO-8859-1,当解析它并最终从响应中获取单词时,我会收到带有这样的问号�的string,我想知道哪个是正确的方法将其转换为可读string. 所以,我尝试的是将当前的单词encoding转换为UTF-8这样: (我想知道UTF-8是否可以解决我的问题) string word = "ESPA�OL"; Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encoding utf = Encoding.GetEncoding("UTF-8"); byte[] isoBytes = iso.GetBytes(word); byte[] utfBytes = Encoding.Convert(iso, utf, isoBytes); string utfWord = utf.GetString(utfBytes
0 2024-04-21
编程技术问答社区
从utf-8编码到iso-8859-1编码重新编码网址
我有file://links link lanc lonclenced the utf-8中的非英语字符.对于这些在浏览器中工作的链接,我必须重新编码它们. file://development/H%C3%A5ndplukket.doc 变成 file://development/H%e5ndplukket.doc 我有以下代码可行: public string ReEncodeUrl(string url) { Encoding enc = Encoding.GetEncoding("iso-8859-1"); string[] parts = url.Split('/'); for (int i = 1; i
0 2024-04-21
编程技术问答社区
使用.NET如何将包含Latin-1重音字符的ISO 8859-1编码文本文件转换为UTF-8编码
我被发送的文本文件保存在 iso 88591-1 包含来自Latin-1范围的重音字符(以及正常的ASCII A-Z等).如何将这些文件转换为 utf-8 使用c#,以便单键ISO 8859-1中的字符成为有效的UTF-8字符? 我尝试使用Asciiienencoding的StreamReader,然后通过实例化编码ascii和编码utf8然后使用Encoding.Convert(ascii, utf8, ascii.GetBytes( asciiString) )将ASCII字符串转换为UTF-8,但是将重音字符作为问题渲染.标记. 我想念哪个步骤? 解决方案 您需要获取正确的Encoding对象. ASCII就是命名的:ASCII,这意味着它仅支持7位ASCII字符.如果您想做的是转换文件,那么这可能比直接处理字节数组更容易. using (System.IO.StreamReader reader = new System.IO.StreamReader(
0 2024-04-11
编程技术问答社区
如何在C#中写出一个代码页为UTF-8以外的文本文件?
我想写一个文本文件. 而不是默认的UTF-8,我想编写编码为ISO-8859-1(代码页28591).我不知道该怎么做... 我正在用以下非常简单的代码写出文件: using (StreamWriter sw = File.CreateText(myfilename)) { sw.WriteLine("my text..."); sw.Close(); } 解决方案 using System.IO; using System.Text; using (StreamWriter sw = new StreamWriter(File.Open(myfilename, FileMode.Create), Encoding.WhateverYouWant)) { sw.WriteLine("my text..."); } 获取编码的另一种方法: using System.IO; using System.Text;
0 2024-04-11
编程技术问答社区
C# 将字符串从UTF-8转换成ISO-8859-1(Latin1)H
我已经在这个主题上搜索过,我看了每个答案,但我仍然不明白. 基本上,我需要将UTF-8字符串转换为ISO-8859-1,然后使用以下代码进行: Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encoding utf8 = Encoding.UTF8; string msg = iso.GetString(utf8.GetBytes(Message)); 我的源字符串是 Message = "ÄäÖöÕõÜü" ,但不幸的是我的结果字符串变为 msg = "Ã?äÃ?öÃ?õÃ?ü 我在这里做错了什么? 解决方案 使用 Encoding.convert.convert.convert.convert.convert 在尝试将其解码到目标编码之前,要调整字节数组. Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encodin
0 2024-04-10
编程技术问答社区
如何从AXIO中获取UTF-8中的值
我有以下代码: const notifications = await axios.get(url) const ctype = notifications.headers["content-type"]; ctype接收"文本/json; charset = iso-8859-1" 和我的字符串是这样的:"'ol -matheus,est es pendente.'," 我如何在不获取这些错误的情况下从ISO-8859-1解码到UTF-8? 谢谢 解决方案 text/json; charset=iso-8859-1不是有效的标准内容类型. text/json是错误的,JSON必须是UTF-8. 因此,至少在服务器上解决此问题的最佳方法是首先获得一个缓冲区(Axios支持返回缓冲区吗?在它上运行JSON.parse 伪代码: // be warned that I don't know axios, I assume this is
2 2024-03-23
编程技术问答社区
½的ASCII代码是什么?
我想在文件中打印值"½".我将其搜索为Alt+(ASCII值)的ASCII值将为您提供相同的价格.令我惊讶的是,我在各个站点发现了这个符号的2个ASCII值.一个是171,另一个是189. 我试图通过使用171和189来编写此符号.再次令我惊讶的是,如果我在Windows上写作,那么171将给我这个符号.但是,如果我用unix写作,189会给我这个符号. 我知道,同一符号不能有2个ASCII值.但是我在不同的OS中获得了2个有效的代码.所以任何人都可以告诉符号½?? 的真实ASCII代码是什么. 解决方案 ½不是 ascii角色集. 您在线发现的值可能有所不同,因为它们使用了不同的字符集.例如,在发明了Unicode之前,Windows的本地化版本都使用了不同的代码页还有一些其他字符. 现在,当然,一切都是(或应该是)完全Unicode.可以找到该字符的详细Unicode信息(庸俗分数一半)在这里.请注意,对于相同的数值值也有多个表示(例如,基本10,十六进
4 2024-03-07
编程技术问答社区
websphere上的字符编码问题
我有以下有关我部署在两个应用程序服务器中的应用程序的问题(WebSphere 8.0.0.3). 这些服务具有相同的配置文件(在某个时候,我导出了一个配置文件,并将其导入到第三个应用程序服务器中),并且我在读取和显示ISO8859-7中编码的文件时遇到了问题.一个应用程序服务器正确显示它们另一个显示Qustionmarks,其中文件中存在非ASCII字符.另一个应用程序服务器在正确显示它们时没有问题.由于我怀疑这个问题不是源于WebSphere,而且这是一个OS问题(在所有情况下,Unix SLE),我已经从一个Sevrer导出了配置文件,并将其安装在第三个问题上,所有这些似乎都可以正常工作很好. 试图解决问题,我部署了一个简单的servlet,显示了JVM的默认字符.在有问题的情况下,显示了US-ASCII,并且在GOOD显示器上显示了UTF-8.在运行应用程序服务器的用户时,在UNIX终端中运行语言环境,lang均在两台机器上的en_us.utf8上设置. 我想添加
2 2024-03-07
编程技术问答社区
Python 2假设了不同的源代码编码方式
我注意到,如果没有源代码编码声明,Python 2解释器假设源代码是​​用 scriptss 和标准输入在ASCII中编码的:: $ python test.py # where test.py holds the line: print u'é' File "test.py", line 1 SyntaxError: Non-ASCII character '\xc3' in file test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details $ echo "print u'é'" | python File "/dev/fd/63", line 1 SyntaxError: Non-ASCII character '\xc3' in file /dev/fd/63 on line 1, but no encoding declar
10 2024-03-07
编程技术问答社区
jQuery的AJAX调用搞乱了字符编码
我有一个输出JSON的servlet. Servlet的输出编码为ISO-8859-1.我们的WebApp中的页面也设置为ISO-8859-1.我会使用UTF-8,但这超出了我的控制.我们必须使用ISO-8859-1. 当我单独击中servlet时,我可以看到已输出的JSON数据.字符编码是正确的,并且没有一个字符看起来很奇怪. 但是,当我通过ajax调用servlet并使用检索到的数据填充选择框时,我会得到所有带有重音的字符(例如,带有严重或急性重音的i ,或绕行).当我在火焰下的"网络"选项卡中查看响应时,我可以看到文本看起来不错.但是,当我使用该数据填充选择框时,我会得到钻石 - 疑问标记. 这些字符都是有效的ISO-8859-1字符,因此我不明白为什么它们不正确显示. 编辑 更多信息.我在jQuery.ajax中使用GET,并且我将scriptCharset设置为ISO-8859-1.在服务器端,我使用request.setCharacterEnco
8 2024-01-20
编程技术问答社区
西班牙语的JQuery标点符号(ó, í等)在IE8中不工作。
im与jQuery和asp一起工作,并使用一个SQL数据库,使用该函数$ .getJson(),西班牙语中的一些描述和" acentos"和" tildes" ú,ñ等). 使用Chrome 4和Firefox工作正常.问题是IE8:有了一些特定的查询,它可以悬挂而不会取回结果.如果我使用IE将所有" O"替换为" O",则相同的ResultSet效果很好,因此我知道问题是" Acentos"(ó). . IM使用此代码设置Ajax调用: $.ajaxSetup({'beforeSend' : function(xhr) { if (xhr.overrideMimeType) { //FF & Chrome xhr.overrideMimeType('text/html; charset=iso-8859-1'); }else { //IE8
2 2024-01-16
编程技术问答社区
将ISO-8859-1转换为UTF-8
我正在通过jQuery的Ajax发送HTTP请求. 但是我无法访问的服务器返回ISO-8859-1,我的页面是UTF-8. 如何将字符转换为可读性? 不转换而出现类似的东西:rio @Edit: 我尝试使用以下方式更改AJAX请求的符号: $.ajax({ contentType: ... }); 我试图将HTML的元素更改为ISO-8859-1. @solution: 我在以下方面找到了解决方案: https://stackoverflow.com/a/a/14397845/3451442 解决方案 尝试以下内容如下:在您的情况下,您可以简单地使用: utfstring = unescape(encodeURIComponent(ajaxreturn)); 编辑:如果这也不起作用,请尝试以另一种方式进行: fixedstring = decodeURIComponent(escape(ajaxreturn)); 如果您发布
28 2024-01-11
编程技术问答社区
有什么方法可以将ActionScript 3中的普通字符串转换为Latin-1字符编码的ByteArray?
我将字符串转换为UTF-16编码字符的字符RARARY毫无问题,但是我试图与(用Erlang编写)的应用程序只能理解Latin-1编码.是否有任何方法可以从ActionScript 3中的字符串中产生一个包含拉丁字符码的字节差? 解决方案 bytearray.writemultibyte(字符串," ISO-8859-1");
2 2024-01-09
编程技术问答社区
C# 将字符串从UTF-8转换成ISO-8859-1(Latin1)H
我已经在这个主题上搜索过,我看了每个答案,但我仍然不明白. 基本上,我需要将UTF-8字符串转换为ISO-8859-1,然后使用以下代码进行: Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encoding utf8 = Encoding.UTF8; string msg = iso.GetString(utf8.GetBytes(Message)); 我的源字符串是 Message = "ÄäÖöÕõÜü" ,但不幸的是我的结果字符串变为 msg = "Ã?äÃ?öÃ?õÃ?ü 我在这里做错了什么? 解决方案 使用 Encoding.convert.convert.convert.convert.convert 在尝试将其解码到目标编码之前,要调整字节数组. Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encodin
4 2024-01-02
编程技术问答社区
NSString到NSData在编码中失败了
我正在尝试使用NSXMLPARSER来解析ISO-8859-1数据.使用苹果自己的示例进行解析ISO-8859-1,我有以下内容. // path to xml file NSString *xmlFilePath = [[NSBundle mainBundle] pathForResource:sampleFileName ofType:@"xml"]; // string of xml contents NSString *xmlFileContents = [NSString stringWithContentsOfFile:xmlFilePath encoding:NSUTF8StringEncoding error:nil]; NSLog(@"contents: %@", xmlFileContents); 我看到在控制台中,字符串的内容是准确的. 但是,当我尝试将其转换为NSDATA对象(用于解析器)时,我会执行以下操作. NSData *xmlDa
6 2023-12-22
编程技术问答社区
 在XML中使其无法解析
因此,我的数据库中有一个值,该值在其中具有非断裂空间 .我有一个旧服务,可以从数据库中读取此字符串,并使用此字符串创建XML.我面临的问题是,XML返回此消息是不可避免的.当我在记事本++中打开它时,我会看到字符xA0在非断裂空间的位置,并且在删除此字符时,XML变得可分析.此外,我从具有字符"Â "代替非断裂空间的同一服务中对此XML文件进行了较旧的修订.我最近更改了该服务正在运行的Tomcat服务器,因此出了点问题.我发现此 post post 根据我的XML编码为ISO-8859-1;,但是我用来将XML转换为字符串的代码不使用ISO-8859-1;.以下是我的代码 private String nodeToString(Node node) { StringWriter sw = new StringWriter(); try { Transformer t = TransformerFactory.new
2 2023-12-22
编程技术问答社区
nginx能否重新编码XML文件,或改变XML头?
我有一个问题最终是由第三方XML文档引起的,其实际编码( ISO 8859-1或Windows 1252,无法分辨)与其声明的编码(UTF-8)不匹配. 我正在寻找创意的解决方法.我们已经为各种内容使用了nginx代理,所以也许有一种方法可以: 将文档内容从ISO 8859-1到UTF-8重新编码;或 从UTF-8到ISO 8859-1. nginx是否可以使用这些?如果不是,类似工具? 解决方案 简短答案,是的,它可以. include win-utf; server { listen 5080; location /... { proxy_pass https://mapsengine.google.com; source_charset windows-1251; charset utf-8; } } 是: source_charset指定您从 转换的内容 charset指定您要转换为
6 2023-12-22
编程技术问答社区
使用XmlTextWriter,带有汉字文本内容的XmlDocument不能正确编码为ISO-8859-1。
我有一个XmlDocument,其中包含汉字的文本内容,我需要使用ISO-8859-1编码将其写入流.当我这样做时,没有一个汉字字符正确编码,而是用" ??". 替换. 这是示例代码,演示了XML是如何从XmlDocument写入的: 的 MemoryStream mStream = new MemoryStream(); Encoding enc = Encoding.GetEncoding("ISO-8859-1"); XmlTextWriter writer = new XmlTextWriter(mStream,enc); doc.WriteTo(writer); writer.Flush(); mStream.Flush(); mStream.Position = 0; StreamReader sReader = new StreamReader(mStream, enc); String formattedXML = sReader.ReadToEnd();
4 2023-12-22
编程技术问答社区
将XML latin1转换为UTF-8和其他方式。
我正在尝试将XML文件从Latin1转换为UTF-8,而另一种方式将其转换为UTF-8. 我一直在进行一些测试,但我没有成功. 我正在使用 Get-Content C:\inputfile.xml | Set-Content -Encoding utf8 C:\outputfile.xml 但这没有转换.因此,我试图在Get-Content中给出编码,但是Latin1在PowerShell中未识别(或者这是错误消息告诉我的). 获得此问题的最佳方法是什么? 解决方案 最快的方法,尤其是使用大型XML文件,是使用.net system.io.file class. 使用 readallText 明确提供了拉丁语1编码: [IO.File]::ReadAllText('r:\1.txt', [Text.Encoding]::GetEncoding('iso-8859-1')) | Set-Content r:\2.txt -Encoding UTF8
8 2023-12-21
编程技术问答社区