相关疑难解决方法(0)

读取JAR文件外的属性文件

我有一个JAR文件,我的所有代码都存档以便运行.我必须访问每次运行前需要更改/编辑的属性文件.我想将属性文件保存在JAR文件所在的目录中.有没有告诉Java从该目录中获取属性文件?

注意:我不想将属性文件保留在主目录中,也不希望在命令行参数中传递属性文件的路径.

java properties

119
推荐指数
2
解决办法
17万
查看次数

Eclipse中的Java属性UTF-8编码

我最近不得不将我正在处理的webapp的编码切换ISO-xxutf8.一切顺利,除了属性文件.我加入-Dfile.encoding=UTF-8eclipse.ini,普通文件工作正常.然而属性显示出一些奇怪的行为

如果我utf8从Notepad ++ 复制编码属性并将它们粘贴到Eclipse中,它们会显示并正常工作.当我重新打开属性文件时,我看到一些Unicode字符而不是正确的字符,如:

Zur\u00EF\u00BF\u00BDck instead of Zurück
Run Code Online (Sandbox Code Playgroud)

但应用程序仍然正常.如果我开始编辑属性,添加一些特殊字符并保存,它们会正确显示,但它们不起作用,所有以前工作的特殊字符都不再起作用.

当我将本地版本与CVS进行比较时,我可以在远程文件上正确地看到特殊字符,并且在更新之后我再次开始:app工作,但Eclipse显示Unicode字符.

我尝试通过右键单击并选择"其他:UTF8"来更改文件编码,但它没有帮助.它还说:"根据内容确定:ISO-8859-1"

我正在使用基于Eclipse 3.3的Java 6和Jboss Developer

我可以通过在Notepad ++中编辑属性并在Eclipse中粘贴它们来使用它,但如果有人可以帮助我在Eclipse中修复它,我将不胜感激.

java eclipse encoding utf-8

48
推荐指数
4
解决办法
10万
查看次数

国际化Web应用程序的最佳实践?

国际化网络应用似乎总是一件苦差事.无论您为可插拔语言提前做多少计划,编码都会出现问题,不适合您模板的时髦措辞以及其他问题.

我认为,在决定将他们的网络应用程序国际化时,获得SO社区对程序员应该注意的一系列内容的输入会很有用.

language-agnostic internationalization

35
推荐指数
3
解决办法
9050
查看次数

Eclipse错误的Java属性UTF-8编码

我有一个JavaEE项目,我在其中使用消息属性文件.这些文件的编码设置为UTF-8.在文件我用的是德国的变音似ä,ö,ü.问题是,有时这些字符会被unicode替换\uFFFD\uFFFD,但不会替换为每个字符.现在,我有一个案例,其中äü都被替换\uFFFD\uFFFD,但不是每个发生äü.

Git diff给我看了这样的事情:

 mail.adresses=E-Mail hinzufügen:
-mail.adresses.multiple=E-Mails durch Kommata getrennt hinzufügen.
+mail.adresses.multiple=E-Mails durch Kommata getrennt hinzuf\uFFFD\uFFFDgen.
 mail.title=Einladungs-E-Mail
 box.preview=Vorschau
 box.share.text=Sie können jetzt die ausgewählten Bilder mit Ihren Freunden teilen.
@@ -6880,7 +6880,7 @@ browser.cancel=Abbrechen
 browser.selectImage=übernehmen
 browser.starImage=merken
 browser.removeImage=Löschen
-browser.searchForSimilarImages=ähnliche
+browser.searchForSimilarImages=\uFFFD\uFFFDhnliche
 browser.clear_drop_box=löschen
Run Code Online (Sandbox Code Playgroud)

还有一些线路发生了变化,我没有碰过.我不明白为什么我会这样做.可能是上述问题的原因是什么?

我的系统:

  • Antergos/Arch Linux

java eclipse utf-8 properties-file

25
推荐指数
2
解决办法
3万
查看次数

Spring-Boot中的application.properties属性的UTF-8编码

在我的application.properties添加一些自定义属性.

custom.mail.property.subject-message=This is a ä ö ü ß problem
Run Code Online (Sandbox Code Playgroud)

在这个类中,我有自定义属性的表示.

@Component
@ConfigurationProperties(prefix="custom.mail.property")
public class MailProperties {
    private String subjectMessage;
    public String getSubjectMessage() {
        return subjectMessage;
    }
    public void setSubjectMessage(String subjectMessage) {
        this.subjectMessage = subjectMessage;
    }
Run Code Online (Sandbox Code Playgroud)

在这里我用我的MailProperties:

@Service
public class SimpleUnknownResponseMessage extends MailProperties implements UnknownResponseMessage{

    private JavaMailSender javaMailSender;

    @Autowired
    public SimpleUnknownResponseMessage(JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    @Override
    public void placeUnknownResponse(BookResponse bookResponse) {
        MimeMessage message = javaMailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(message, "UTF-8");
            helper.setSubject(this.getSubjectMessage());            
            javaMailSender.send(message); …
Run Code Online (Sandbox Code Playgroud)

java encoding spring utf-8 spring-boot

22
推荐指数
5
解决办法
2万
查看次数

每种语言最常见的编码是什么?

我正在开发一个纯文本阅读器应用程序.有时app无法自动确定文件的编码,因此用户需要从编码列表中选择编码.如果此列表包含所有支持的编码,则它将太长.我想提供一个简化的列表,只包含每种语言最常见的编码.

这是我所知道的一些关系:

  • 繁体中文:Big5
  • 简体中文:GB18030
  • 日语:Shift-JIS,EUC-JP
  • 俄语:KOI8-R

如果您知道任何其他语言最常见的编码,请告诉我.

encoding character-encoding

19
推荐指数
2
解决办法
2万
查看次数

将resourcebundle读为UTF-8.getString()方法似乎将编码更改为ISO-8859

我有幸将完整的工作区,项目和文件的编码更改为UTF-8编码.我们有几个Resourcebundles,用于使用unicode编写特殊字符.我们还希望通过切换到UTF-8来摆脱那个unicode的东西,所以我也改变了Resourcebundles(.properties)文件的编码并替换了Unicode字符.

我们也有德国资源捆绑和一些像

Ä,Ö,Ü,ß.ä,ö,ü以及像"或"这样的特殊字符

在浏览器中未正确显示.例:

Resourcebundleentry:

executeShellCommand.label =Shellkommandoausführen

浏览器结果: 在此输入图像描述

使用Java.util.ResourceBundle.getString(String key)方法读取resourcebundle:

    public String getLocalizedString(ResourceBundle bundle, String key) {
    try {
        System.out.println("getLocalizedString, key: " + key + ", resourcebundle: " + bundle.getString(key));
        return bundle.getString(key);
    } catch (MissingResourceException e) {
        return key;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我检查上面的Sysout的输出我得到以下: getLocalizedString, key: executeShellCommand.label, resourcebundle: Shellkommando ausführen

似乎getString(key)方法在将字符串从字符串读取到标准resourcbundleencoding(ISO-8859)时更改字符的编码.

我试图解决这个问题:

    public String getLocalizedString(ResourceBundle bundle, String key) {
    try {
        System.out.println("getLocalizedString, key: " + key + ", resourcebundle: " + new String (bundle.getString(key).getBytes(), "UTF-8"));
        return …
Run Code Online (Sandbox Code Playgroud)

java encoding properties resourcebundle utf-8

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

如何在JavaFX中为非英语支持添加UTF-8?

我想在JavaFX中添加UTF-8 Farsi字符,但是当我添加带有波斯语内容的标签时,它会显示一些奇怪的结果.

我是否必须使用特定的插件或配置来处理此问题?

java multilingual javafx utf-8

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

为什么资源包中的瑞典语文本显示为乱码?

可能重复:
如何在ResourceBundle的资源属性中使用UTF-8

我想允许国际化到我的Java Swing应用程序.我使用捆绑文件来保留其中的所有标签.

作为测试,我试图将瑞典标题设置为a JButton.所以在我写的包文件中:

nextStepButton=nästa
Run Code Online (Sandbox Code Playgroud)

在我写的Java代码中:

nextStepButton.setText(bundle.getString("nextStepButton"));
Run Code Online (Sandbox Code Playgroud)

但是按钮的标题字符在运行时出现错误:
替代文字

我正在使用支持Unicode的Tahoma字体.当我通过代码手动设置按钮标题时,它看起来很好:

nextStepButton.setText("nästa");
Run Code Online (Sandbox Code Playgroud)

知道为什么它在捆绑文件中失败了吗?

--------------------------------------------> 编辑:编码标题:
我尝试使用代码编码来自bundle文件的文本:

nextStepButton.setText(new String(bundle.getString("nextStepButton").getBytes("UTF-8")));
Run Code Online (Sandbox Code Playgroud)

结果仍然是:
替代文字

java swing resourcebundle internationalization mojibake

7
推荐指数
2
解决办法
3710
查看次数

devanagari i18n in java

我正在尝试使用i18n在java中使用来自互联网的示例ttf文件的devanagari/hindi.

我能够加载资源包条目,并加载ttf和设置字体,但它不会根据需要呈现jlabel.它显示了代替字符的块.如果我在eclipse中调试,我可以将鼠标悬停在unicode变量上,甚至可以渲染devanagari.下面是代码和资源包供参考.

package i18n;

import java.awt.Font;
import java.awt.GridLayout;
import java.io.InputStream;
import java.util.Locale;
import java.util.ResourceBundle;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MyNumbers extends JFrame {
    private ResourceBundle rb;
    private Font devanagariFont;

    public MyNumbers (String language, String fontFile) {
        loadResourceBundle(language);
        loadFont(fontFile);
        display();
    }

    private void display() {
        String unicode = null;

        JPanel labels = new JPanel(new GridLayout(0,2));
        JLabel uni = null;
        for(int i=0; i<=10; i++) {
            unicode = rb.getString("" +i);
            labels.add(new JLabel("" + i));
            labels.add(uni = new JLabel(unicode));
            uni.setFont(devanagariFont);
        } …
Run Code Online (Sandbox Code Playgroud)

java internationalization indic

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