问题标签 [file-encodings]

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.

0 投票
2 回答
749 浏览

java - 当我将它放入与将其从数据库中拉出时,new String(byte[]) 会给出不同的结果

在我将字节数组保存到数据库之前,如果我打印它的输出new String(data)会返回一个可读的字符串,例如“foobar”,但是在我将它从数据库中拉出之后,new String(data)会读起来像一堆乱码,例如“9238929384739427349327 ...”。这里有很多部分,我将尝试将它们全部列出。我正在使用 eclipselink 并且我的数据列已定义:

如果我运行此代码:

它输出windows-1250.

我的数据库定义为:

我也在这样定义的数据库上试过这个:

并且问题仍然存在。

我认为发生的事情是我的数据库与我的应用服务器的编码不同。当我将内容放入数据库并再次将其取出时,它以错误的方式对其进行解码,因此看起来像乱码。我有什么事情吗?

现在,当谈到解决这个问题时,我有点困惑。我认为我应该做的是将我的应用服务器的文件编码更改为与数据库相同。我正在使用 Glassfish 2.1.1。当我application server -> advanced -> domain attributes将语言环境设置为“UTF8”或“UTF-8”时,它告诉我需要重新启动。重新启动 glassfish 后,该字段仍为空白,并且仍然出现错误。我想也许它没有节省财产。我会手动将它放在配置文件中,但我不知道该放在哪里或放什么。

或者,我尝试使用 ENCODING = 'WIN1250' 创建我的数据库,但是当我这样做时,它说我的 LC_CTYPE 需要是“WIN1252”。当我将 LC_CTYPE 设置为“WIN1252”时,它说编码不存在。


我在这方面花了很多时间,我想知道我是否在这里做一些事情。我的“appserver 和 db 之间的编码不同步”的理论听起来是正确的,还是我在追逐红鲱鱼?如果有人可以帮助我弄清楚如何更改 glassfish 2.1.1 的此设置,那也将非常有帮助。谢谢

编辑:人们问我为什么将字符串存储为原始字节。这不完全是我正在做的事情,有时原始字节代表图像或pdf或二进制文件,有时是文本。我的测试是插入一个纯文本字符串并将其拉回以确保它被正确保存。这个测试通过了我们在 linux 上的 CI 服务器。

EDIT2:我被要求显示原始二进制输入与原始二进制输出。

预期:[116、104、105、115、32、105、115、32、109、121、32、97、116、116、97、99、104、109、101、110、116、32、97、115 , 32, 97, 32, 83, 116, 114, 105, 110, 103]

实际:[60, 54, 56, 54, 57, 55, 51, 50, 48, 54, 57, 55, 51, 50, 48, 54, 100, 55, 57, 50, 48, 54, 49, 55 , 52, 55, 52, 54, 49, 54, 51, 54, 56, 54, 100, 54, 53, 54, 101, 55, 52, 50, 48, 54, 49, 55, 51, 50, 48 , 54, 49, 50, 48, 53, 51, 55, 52, 55, 50, 54, 57, 54, 101, 54, 55]

我给了我在 Mac 上的同事检查字节的相同测试,并且它通过了他。

0 投票
1 回答
733 浏览

vb.net - 逐行复制文本文件 vb.net 一半大小?

我正在尝试修改 6 gig 文本文件(SQL 脚本)中的特定行。所以我读了它IO.StreamReader.ReadLine并用IO.StreamWriter.WriteLine. 如果该行符合某个条件,我会在编写之前对其进行修改。

问题是,生成的文件正好是原始文件大小的一半(1.999582...)...

我正在尝试使用以下方法确保编码相同:

sw = New IO.StreamWriter(NewFilepath, False, sr.CurrentEncoding)

但这并没有什么区别,新文件的大小是旧文件的一半...

0 投票
1 回答
82 浏览

java - Puppet启动Tomcat时中文字符显示不正确,手动启动时有效

所以这里有一个有趣的...

我们通过 Fatwire 上传文件,将文件存储在 Unix 文件系统上。Fatwire 在幕后使用 Tomcat。

一个 Puppet 代理处理我们的 jar 部署和重启。

上传文件名中包含中文字符的图像文件时,存储在文件系统中的文件显示可怕的??? 而不是正确的字符。

当我们使用 Puppet 部署的相同 jar 文件但只需手动重新启动时,它可以完美运行。

我已经在 J​​AVA_OPTS 和 CATALINA_OPTS 设置中设置了 -Dfile.encoding=UTF-8 。

帮助?

0 投票
1 回答
53 浏览

php - 我必须在 Netbean 项目属性中设置什么项目编码才能打开使用 DOS 字符集(代码页 437)编码的文件?

问题是我在 Netbean 项目属性的可用编码下拉列表中看不到任何与DOS 字符集具有的任何名称匹配的编码。我已经安装了 Netbean PHP,但我不认为这有什么不同。

0 投票
4 回答
8617 浏览

unicode - 将 Mac 罗马字符转换为等效的 UTF-8

我收到了一些使用 Mac OS Roman 文件编码的 HTML 文件。这些文件有法语文本,但在编辑器中,许多变音字符看起来很奇怪(即非法语)

带有重音符号的大写字母 E 与其他奇怪字符一样在浏览器中正确显示为 é。

我还有一些在编辑器中看起来很正常的 UTF-8 法语文件(é 看起来像 é)。我想做的是将所有 Mac Roman 文件转换为 UTF-8 以便于维护。

仅在编辑器中更改文件编码不会这样做。奇怪的字符仍然是奇怪的。

没有制作转换字典并对所有文件进行查找/替换,有没有办法做到这一点?

0 投票
2 回答
5578 浏览

android - 原始文件夹中文本文件中的除法符号

我的 .txt 文件中有 ÷ 在我的 android 中。当这个除法符号显示在 android 设备上时,我看到“�”

更糟糕的是,我的笔记本电脑键盘上没有除号。我使用了来自维基百科的上述标志。

任何猜测我该如何解决这个问题。

0 投票
2 回答
4769 浏览

php - 如何使用 header('Content-Type: image/jpeg') 解决错误

我在我当前的一个项目中面临一个问题。只是分享是否有人对此类问题有经验。当我尝试使用以下脚本时:

header('Content-Type: image/jpeg');

以下错误显示:

警告:无法修改标头信息 - 标头已由第 89 行 /location/controller/Captcha.php 中的(输出开始于 /location/test.php:1)发送

我用过ob_clean();在header('Content-Type: image/jpeg'); 清理缓冲区的功能。但没有工作。我也在检查 php 文件中的任何输出或换行符,但什么也没找到。

有人可以给我一个解决方案吗?

0 投票
2 回答
855 浏览

c# - 将文件(字节数组)的字符串表示形式转换回 C# 中的文件

如标题所示,我正在尝试将字节数组的字符串表示形式转换回原始文件,其中字节所在的位置。

我做了什么:

我有一个获取整个文件并发送它的网络服务:

在传输的结果 xml 中序列化后,我有这一行:

我试图在另一个简单的应用程序中用这一行将它转换回来:

我使用 UTF8 作为编码,因为 xml 声明使用这个字符集。保留数据类型不是一种选择,因为我正在编写一个简单的实用程序来检查文件转换。

也许我错过了一些非常基本的东西,但我无法提出一个可行的解决方案。

0 投票
4 回答
7475 浏览

r - Why is R reading UTF-8 header as text?

I saved an Excel table as text (*.txt). Unfortunately, Excel don't let me choose the encoding. So I need to open it in Notepad (which opens as ANSI) and save it as UTF-8. Then, when I read it in R:

it shows the name of the first column beginning with "X.U.FEFF.". I know these are the bytes reserved to tell any program that the file is in UTF-8 format. So it shouldn't appear as text! Is this a bug? Or am I missing some option? Thanks in advance!

0 投票
1 回答
1021 浏览

java - Java JTextField 特殊字符

我的程序中所有 JTextField 的字符都有问题(编译成 JAR 时)。当我从 Eclipse 运行它时,一切正常......问题是从已经编译的 JAR 运行时。

问题是,当我在 JTextField 中插入带有特殊字符“ Ñandú? ”的文本时,java 从带有稀有字符的输入中提取文本。例如:System.out.println( myTextField.getText() );。那将在控制台中写入:IMAGE

我尝试了各种切换字符的方法,但是当我在控制台或界面上再次写入时,又出现了罕见的迹象。我什至尝试过图书馆Commons Lang 3.1,但我没有成功:(

我希望有人知道该怎么做!唯一的工作方法是-Dfile.encoding=UTF-8在运行 jar 文件时插入,但事实并非如此。

对不起英语。谢谢!!!