问题标签 [charset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - Golang:在 Windows 中压缩文件时,Go 中的解压缩文件会在文件名中出现字符编码问题
我正在尝试使用 zip lib 在 Go (Golang) 中解压缩文件。问题是当 zip 文件在 windows 中压缩后,所有特殊字符都会变得混乱。windows 可能使用 windows1252 字符编码。只是无法弄清楚如何解压缩这些文件。我已经尝试使用golang.org/x/text/encoding/charmap
or golang.org/x/text/transform
,但没有运气。我想,在 zip lib 里面应该有一个替代物来改变charmap。
另一个问题:有时应用程序会解压缩在 Windows 上压缩的文件,有时会在不同的操作系统上解压缩。因此,应用程序需要识别字符编码。
这是代码(感谢:https ://golangcode.com/unzip-files-in-go/ ):
java - java中filereader和filewriter的默认字符集是什么
在这里,我试图从一个文件中读取内容并将其写入另一个文件。我的文件包含不同的语言单词和符号,像这样
当我像这样使用具有指定字符集的文件读取器和写入器时,它可以正常工作并正确复制。
但是当我没有指定字符集时,它会将给定的文本复制到一些未知的符号,就像这样,
所以,这意味着当我没有指定字符集时,它必须使用默认字符集。那么,它使用的是什么字符集?filereader 和 filewriter 以及其他 io 类的默认字符编码是什么。
谁能解释一下。
提前致谢
java - Java - (273 IBM) 字符集在解码 21 时返回 \n
所以我有以下代码片段:
所以 fieldGetter.get() 基本上是“21”,而 273 字符集用于 IBM / PL1。格式不言自明。
getValue() 返回“\n”,这很奇怪,因为根据我的理解,我定义的格式应该是 2 个字符长。不知何故,在调试它时,我可以看到以下内容:
所以你可以看到一个值中有两个字符,我认为这是因为 Eclipse 编码它不同,因为它是用 273 编码的。我稍后会解释这个问题。
通常 getValue() 方法会返回调试时无法读取的内容,如下所示:
如您所见,它是一个正方形:)
这里的问题是我们坚持这一点,它会导致 DB2 表上出现奇怪的行为,我的假设是这是因为 SQL DB 中的“\n”会导致一个新行。如果我错了,请纠正我。持久值是从 IBM 机器中选择的,它导致 37 个字符,而不是预期的 21 个字符。我必须补充一点,它查看的是十六进制值。
所以我的问题是是否有另一种方法来实现我的目标,即通过解码 charset 273 中的字节数组来创建一个新字符串?或者如果我错过了什么或类似的东西?也许无论我如何编码/解码它都会导致相同的结果,因为这正是 21 在 273 中解码的样子?
提前谢谢了!
encoding - Icecast 介绍 mp3 文件
为什么当有一个希腊文件名 mp3 文件在开始时没有播放,但是当我有类似 111.mp3 的文件时它可以工作?
这个设置只会配置一次,所以有一个像 Introduction.mp3 这样的常量文件名是没有问题的。
但是,如果我可以做些什么来解决这个问题,请告诉我。
xml - 从 Oracle 中的 CLOB 读取 xml 时检索正确的字符集
以下 xml 存储在 Oracle 的 CLOB 字段中:
以下 sql 查询正确更新了标签 tmEsObj 和 tmProg 的属性:
但是从生成的 xml 中可以看出,编码已经改变
有没有办法告诉系统从一开始就考虑正确的编码?否则如何在更新 xml 之前再次设置正确的编码?
spring-mvc - 如何设置 Spring MVC 默认字符集
我正在使用Spring MVC
并Logbook
记录所有 HTTP 请求和响应。我的问题是响应正文以 ISO-8859-1 编码记录。produces
我可以通过在 my中设置参数来修复它,RequestMapping
如下所示:
但是,MediaType.APPLICATION_JSON_VALUE
不推荐使用,建议使用MediaType.APPLICATION_JSON
. 但是,如果参数charset=utf-8
中不存在no produces
,则响应正文在日志中仍然不是 UTF-8。
行为类似于“没有定义字符集?所以默认的是 ISO-8859-1”。那么,如何将所有 API 响应的默认字符集设置为 UTF-8?
mysql - 将 mysql 默认字符集更改为 utf8 会影响我数据库中的其他数据吗?像 UUID、加密的、blob 等
因为我遇到了一个问题,即一旦将数据放入数据库并检索,?
即使我已将前端的标头设置为 UTF-8,某些 unicode 字符也无法识别(显示为)。
我尝试将client
and的默认字符集更改server
为 UTF-8
它解决了这个问题。
但我担心更改整个数据库的字符集(从latin1
to utf-8
)会导致其他领域的问题,例如 UUID、加密的、blob 等。
我尝试charset
仅更改为表和列的 utf-8。
但unicode字符问题再次出现。
我错过了什么吗?
c# - 如何在 windows-1251 字符集中删除字符串上的未知字符
我有一个无法转换为 windows-1251 字符集的文本。例如:
我有一种从 UTF8 转换为 windows-1251 的方法:
现在它返回这个:
我不想显示未正确转换为 windows1251 字符集的字符。在这种情况下,我只想:
我怎样才能做到这一点?
java - 使用 Charset 转换字节会导致字符串末尾出现菱形?
我目前将字符串存储为字节数组。但是,当我尝试使用以下代码使用 Charset 将字节转换回字符串时,最后会出现菱形:
如果我将编码设置为 ISO-8859-1,它转换得很好。我认为这可能是源代码文件的编码,但在 Notepad++ 中打开它表明它也是 UTF-8。
我是否遗漏了什么,或者这只是 Android Studio 的 Logcat 窗口的问题?
- 编辑 1 -
进一步测试表明,3个字符的字符串结尾没有这个填充问题。如果您使用更长的字符串, Charset.decode 似乎会根据断点用 \u0000 值填充 char 数组。
String.valueOf 最终会将填充字符打印为菱形,同时创建一个新的 String 对象会删除填充,但是,由于敏感值,我根本不想使用 String 将字节数组转换为 char 数组。
- 编辑 2 -
如果您再次调用 charset.decode() 似乎会发生上述情况,所以我猜有一个缓冲区正在附加但不确定在什么时候。尝试使用 charBuffer.clear() 清除,但第二个代码块的输出似乎相同,即 3 个字符 + 2 个空格 + 6 个新字符。
mariadb - MariaDB 默认字符集
MariaDB 的文档清楚地说明了如何设置服务器默认值,如字符集和排序规则。所以我打开了我的 Mariadb 控制台并运行:
控制台写好了。然后我重新启动服务器,但是当我尝试创建新数据库时,仍然有相同的 latin2 字符集和瑞典排序规则。我通过 Symfony cosole 命令自动完成
那有什么问题?我按照文档说的那样做了。