我有2个两个字符串,我想将它们进行比较.
"Hỗ trợ ngôn ngữ" 我认为这是iso-8859-1编码u'H\u1ed7 tr\u1ee3 ng\xf4n ng\u1eef' Unicode格式.2个字符串具有相同的内容 我想比较一下.如何将第一个字符串转换为与第二个字符串相同的编码.?
我正在尝试将UTF-8编码用于我正在开发的Spring应用程序,但是在从tile中插入属性时遇到正确的编码存在问题.
我在JSP模板中有这个片段:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title><tiles:getAsString name="title" /></title>
</head>
<body>
<tiles:insertAttribute name="header" ignore="true" />
....
Run Code Online (Sandbox Code Playgroud)
在我的瓷砖XML配置文件中我有类似的东西:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="tiles:base" template="/WEB-INF/views/templates/main.jsp">
<put-attribute name="title" value="Título" />
...
Run Code Online (Sandbox Code Playgroud)
我已经检查过eclipse这个文件有UTF-8编码.尽管JSP的其余部分是正确的(例如插入头部的JSP片段),但在页面中未正确显示title属性中传递的单词(重音字符以错误的方式显示).如果我将编码更改为ISO-8859-1标题是正常的,但页面的其余部分是错误的.我似乎无法在我的tile文件中将编码更改为UTF-8.我还在我创建的文件中查找了"ISO-8859-1",但我没有在任何文件中设置此配置.
任何人都可以告诉我如何为瓷砖设置正确的编码?
谢谢
我想我认为这更像是我正在寻找的问题.我希望至少
我在Java中声明了这个String
input = "||3.2|2013-01-25T17:24:00|ingreso|PAGO EN UNA SOLA EXHIBICION|6386.21|MXN|7408.00|No identificado|NAUCALPAN DE JUÁREZ, ESTADO DE MEXICO|CAOS640116HT5|OSCAR MARTIN CARRERA|CTO. ORADORES 33|33|CD. SATELITE|NAUCALPAN DE JUÁREZ|ESTADO DE MEXICO|MÉXICO|53100|CTO. ORADORES 33|33|CD. SATELITE|NAUCALPAN DE JUÁREZ|ESTADO DE MEXICO|MÉXICO|53100|Persona Física con Actividad Empresarial|BAÑ930616R66|BAÑOMOBIL, S.A. DE C.V.|Av. 1° de Mayo|197|San. Lorenzo|TLALNEPANTLA DE BAZ|ESTADO DE MEXICO|MÉXICO|54047|1|NO APLICA|Dominio .com|Dominio por 1 año www.sanitariosportatiles.com|586.21|586.21|1|NO APLICA|Hospedaje 2 Gb|Hospedaje 2 Gb por 1 año www.sanitariosportatiles.com|5800.00|5800.00|IVA|16.00|1021.79|1021.79||";
Run Code Online (Sandbox Code Playgroud)
是否可以将其转换为ISO-8859-1然后转换为UTF-8?首先将其转换为ISO-8859-1是没有意义的吗?
基本上,我需要的是在utf8字节中使用该字符串并且我不知道是否因为某些字符来自ISO-8859-1我必须首先将其转换为UTF-8或者什么是正确的实现它的程序.
我花了很多时间试图在我们的应用程序中正确地使用特殊字符.我们的供应商告诉我们使用"GSM0338,也称为ISO-8859".对我来说,这意味着ISO-8895-1,因为我们想要西班牙语字符.
流程:(告诉你一切,因为我已经玩了一段时间了.)
使用notepad ++以UTF-8编码创建消息文件.(没有保存为ISO-8859-1的选项).
通过快速Java程序发送每个文件,该程序转换和写入新文件:
String text = readTheFile(....);
output = text.getBytes("ISO-8859-1");
FileOutputStream fos = new FileOutputStream(filesPathWithoutName + "\\converted\\" + filename);
fos.write(output);
fos.close();
Run Code Online (Sandbox Code Playgroud)另一个项目中的SMPP测试类读取这些文件:
private static String readMessageFile(final String filenameOfFirstMessage) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(filenameOfFirstMessage));
String message;
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append("\n");
line = br.readLine();
}
message = sb.toString();
} finally {
br.close();
}
return message;
}
Run Code Online (Sandbox Code Playgroud)电话发送
public void send(final String message, …Run Code Online (Sandbox Code Playgroud)我有一个包含unicode字符串的文件: u"L'\xe9quipe le quotidien"
我有另一个文件,从Windows导出并编码为iso-8859-1相同的字符串:( "L'<E9>quipe le quotidien"这是less我的shell中的复制/粘贴).
转换Windows文件的内容会decode('iso-8859-1').encode('utf8')导致字符串与Windows文件中的字符串不同:L'équipe le quotidien.
这种比较的最佳方法是什么?我似乎无法将latin1字符串转换为utf-8.
我在将以下字符串正确写入文件时遇到问题。尤其是“——”这个字。问题出现在我的本地机器 (Windows 7) 和服务器 (Linux) 上
字符串:“Cœurs d'artichauts Grillées”
是否工作(– 正确显示,而撇号被翻译成问号):
Files.write(path, content.getBytes(StandardCharsets.ISO_8859_1));
Run Code Online (Sandbox Code Playgroud)不起作用(导致文件):
Files.write(path, content.getBytes(StandardCharsets.UTF_8));
Run Code Online (Sandbox Code Playgroud)根据这个问题的第一个答案,UTF-8 应该也能正确编码 – 。有谁知道我做错了什么?
我需要在Ruby中转换一个包含字符“ö”的URL。
在PHP中,urlencode为ö返回%F6,这似乎是ISO 8859中“ö”的十六进制值。
我尝试了几种不同的方法,但没有一个返回正确的字符:
我应该使用哪种方法来获得所需的输出?
-e-
附加要求:
我只需要在URL的路径中转换这些字符。冒号,斜杠等应保持不变:
http://example.com/this/is/an/ö
将会
我有很多重音被错误转换的字符串。我从 API 中获取这些字符串,因此无法以其他编码格式获取它们。例如,字符串从 APIé返回é。有什么办法可以转换这些字符串以正确显示重音吗?
首先,我只想在控制台中使用波罗的海字符并用它们执行 CMD 命令,但问题是从默认/标准控制台 C++ 应用程序开始的。
\n#include <iostream>\nint main() {\n string output = "\xc4\x81\xc4\x81\xc4\x81\xc4\x8d\xc4\x8d\xc4\x8d\xc4\x93\xc4\x93\xc4\x93\xc4\x93";\n\n cout << output << endl;\n}\nRun Code Online (Sandbox Code Playgroud)\n早些时候,我在堆栈上提出了这个问题 - How to use UTF8characters in DEFAULT C++ Project OR when using mysql Connector for C++ in Visual Studio 2019 (Latin7_general_ci to UTF-8)?
\n我在测试中发现:如果我将 UTF8 字符串转换为 Latin1 字符串,然后 cout 或打印十六进制值,我会在控制台中输出一些特殊字符。例如 -
\n**char s2[256] = "\\xc3\\xa9";** printed is outputted as "\xc4\xb7" THAT MEANS I need to convert strings into correct HEX values when it is needed, and some …Run Code Online (Sandbox Code Playgroud)