相关疑难解决方法(0)

获取"java.nio.charset.UnmappableCharacterException:输入长度= 1"

我在collect()方法调用(或toList()调用)上获得UnmappableCharacterException:

    private static void handleTransaction(Path a_filePath, String a_sTrasactionName, String a_sTransactionFilePath) {

    // read file into stream, try-with-resources
    try (Stream<String> stream = Files.lines(Paths.get(a_filePath.toString()), Charset.defaultCharset())) {

        List<String> list =
            stream.filter(line -> (line.indexOf(a_sTrasactionName) > 0))
            .collect(Collectors.toList());

        list.forEach(line -> {

            System.out.println(line);

            try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(_FILES_PATH + a_sTransactionFilePath),Charset.defaultCharset(), StandardOpenOption.APPEND)) {
                writer.write(line + "\n");
            } catch (IOException e) {
                e.printStackTrace();
            }
        });
    } catch (IOException e1) {

        e1.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

它对我有用,但从那时起从未如此.

我读的文件是在solaris上创建的csv文件.我在Windows 2012服务器上运行jar

你能告诉我吗?

谢谢.

java java-8

3
推荐指数
1
解决办法
8325
查看次数

无法打印印地文字符

输出屏幕

public class demo {

    public static void main(String[] args) {
        for(int k = 2029; k<=2360 ; k++)
        {
            System.out.print(k+  " "+(char)k+" ");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

2029 ? 2030 ? 2031 ? 2032 ? 2033 ? 2034 ? 2035 ? 2036 ? 2037 ? 2038 ? 2039 ? 2040 ? 2041 ? 2042 ? 2043 ? 2044 ? 2045 ? 2046 ? 2047 ? 2048 ? 2049 ? 2050 ? 2051 ? 2052 ? 2053 ? 2054 ? 2055 ? …

java

2
推荐指数
1
解决办法
7844
查看次数

在显示内容时在浏览器中获取有趣的方块

我有内容存储在Postgres数据库中,现在每次我调用内容以便使用php显示它,我在IE中获得有趣的方块和Firefox中有趣的方形问号?

以下示例

    *  - March ? May 2009
Run Code Online (Sandbox Code Playgroud)

我该如何删除?

我没有访问服务器所以无法调整那里的编码,只有postgres数据库详细信息和FTP访问上传我的文件

php

1
推荐指数
2
解决办法
179
查看次数

Linux上的Java字节到字符串编码问题

我正在实现一个像这样工作的软件:

我有一台运行vt100终端应用程序的Linux服务器输出文本.我的程序telnet服务器并读取/解析文本的位到相关数据.相关数据被发送到由Web服务器运行的小客户端,该Web服务器在HTML页面上输出数据.

我的问题是某些特殊字符如"åäö"被输出为问号(经典).

背景:
我的程序使用Apache Commons TelnetClient读取字节流.字节流被转换为字符串,然后相关的位被子字符串,并返回到分隔符字符.在此之后,新字符串将转换回字节数组,并使用Socket发送到Web服务器运行的客户端.此客户端根据接收的字节创建一个字符串,并将其打印在标准输出上,Web服务器从中读取并输出HTML.

第1步:byte [] - > String - > byte [] - > [发送到客户端]

Step2:byte [] - > String - > [print output]

问题:
当我在Windows上运行我的Java程序时,所有字符(包括"åäö")都会在生成的HTML页面上正确输出.但是,如果我在Linux上运行程序,所有特殊字符都会转换为" "(问号).

Web服务器和客户端当前正在Windows上运行(步骤2).

代码:
程序基本上是这样的:

我的节目:

byte[] data = telnetClient.readData() // Assume method works and returns a byte[] array of text.

// I have my reasons to append the characters one at a time using a StringBuffer.
StringBuffer buf = new StringBuffer();
for (byte b : …
Run Code Online (Sandbox Code Playgroud)

java linux character-encoding apache-commons

1
推荐指数
1
解决办法
9044
查看次数

德语字符显示在TextView中

在我的Android应用程序中,我正在尝试显示德语文本.öäüß这些角色无法显示TextView.如果有人知道如何设置字体或如何显示字符让我知道.我从服务中收到的数据.

unicode android diacritics character-encoding

1
推荐指数
1
解决办法
3346
查看次数

Java从包含空格的字节数组创建字符串

从字节数组创建String时遇到问题,在构造字符串时忽略数组内的0值.我怎样才能使它如果字节值为0,String只是添加一个空格而不是删除它.

例如,这是输出DT_TestTracelineCTestTraceli.

public static void main(String[] args) {
    byte[] text = {68, 84, 95, 84, 101, 115, 116, 84, 114, 97, 99, 101, 108, 105, 110, 101, 0, 0, 0, 0, 67, 84, 101, 115, 116, 84, 114, 97, 99, 101, 108, 105};
    System.out.println(new String(text));
}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做,所以我可以使用制表符分隔这两个字符串或使用空格,以便输出 DT_TestTraceline CTestTraceli

谢谢

java arrays string

1
推荐指数
1
解决办法
359
查看次数

Unix与Windows渲染角色

我有一个文本文件,在FreeBSD与Windows中打开时显示不同.

在FreeBSD上:An·lisiseInvestigaciÃ> n

在Windows上:AnálisiseInvestigación

窗口表示显然是正确的.关于如何在bsd中获得结果的任何想法?

unix unicode character-encoding

0
推荐指数
1
解决办法
3223
查看次数

使用非英文字符发送电子邮件时,为什么有些字符显示为问号?

我尝试使用PHP mail函数发送带有非英文字符的文本电子邮件.但相反,我的消息与搞笑的垃圾字符.我如何解决它?

我用这段代码:

function _mail($to, $subject, $content)
{

 $headers = 'From: info@example.com' . "\r\n" .
    'Reply-To: info@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

 mail($to, $subject, $content, $headers);
}
Run Code Online (Sandbox Code Playgroud)

一些人物出现问号......

php email encoding character-encoding

0
推荐指数
1
解决办法
3338
查看次数

为什么这段代码总是产生'?'的输出

我们知道java遵循unicode系统,它支持多种语言的所有字母表.我搜索并发现अ的Unicode值是2309,आ的值是2310,它们是DEVANAGRI语言的字母表.我写的代码是这样的.

class Test
{
    public static void main(String args[])
    {
        char a=(char)2310;
        System.out.println(a);
    }
}
Run Code Online (Sandbox Code Playgroud)

没问题我写2309或2310的输出是'?' 总是.这是怎么回事?

java

0
推荐指数
1
解决办法
1401
查看次数

Linux“猫”如何解码文件?

我想知道Linux如何cat解码文件。假设它是一个英文文本文件,该命令似乎使用ASCII解码,但是如何cat解码随机文件呢?

linux command ascii decode utf-8

0
推荐指数
1
解决办法
45
查看次数