ich weiß nicht ob ich letztlich helfen kann, oder eher nerve, aber:
(edit: lange Mail, oberes vielleicht obsolet wenn mit unteren Teil zu Encoding, Default-Einstellungen klareren Durchblick)
kannst du weiter genauer werden, welche Zeichen machen welche Probleme, wie im String erkennbar?
was erwartest du als String, was kommt stattdessen, kannst du das auf einzelne char hin genau untersuchen?
stelle idealerweise eine minmala ‚ASCII Cp1252‘-Problemdatei zusammen, z.B. mit „abcProblemzeichen“ in nur einer Zeile, oder ein paar mehr Zeilen, je nachdem was nötig ist wie Zeilenumbruch,
oder kannst du die Datei nicht zusammenkürzen, verschwindet dann der Fehler auf unbekannte Weise oder findest du ihn schlicht nicht (bisher)?
sehe ich das richtig, dass du mit
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
die Datei standardmäßig mit falschen Encoding einliest?
vielleicht ist das Problem hier, dass es in NetBeans überhaupt funktioniert, und eine Lösung dann dass es in NetBeans auch nicht mehr geht, bestimmt nicht gewünscht 
du wünschst die ‚ASCII Cp1252‘-Datei dauerhaft mit UTF-8 einzulesen?
hast du begründete Annahmen dass das so geht oder allein auf Verdacht und bisher froh dass vor Jar noch keine Probleme gesehen?
wie sieht es mit Änderung des CharSets auf (nicht ausprobiert, von irgendwo kopiert)
Reader reader = new InputStreamReader(new FileInputStream(file), "windows-1252");
aus, und sei es nur testweise versucht,
wird dann, wie auch immer sich das Problem aktuell darstellt, besser eingelesen? sowohl in IDE als auch Jar?
hat der BufferedWriter aktuell eine wichtige Bedeutung für das Problem,
oder reicht es zunächst, sich auf eindeutig vor Programmstart fertig erstellte Dateien + BufferedReader zu konzentrieren?
[quote=bluedaishi]Hab mir gerade deinen Link angesehen .
wo setze ich den System.setProperty(„file.encoding“, „Latin-1“);
in jeder klasse wo ich das brauche denn ich brauche ja nicht nur UTF-8[/quote]
ein System-Property ist einer statischen Variable ähnlich, einmal bei Programmstart dürfte reichen,
aber welche Auswirkungen das generell hat, gegenüber Charset und dann noch deiner Angabe von UTF-8 direkt bei InputStreamReader,
das sind viele Fragen auf einmal,
erst innerhalb des Programms gesetzt anscheinend keine Auswirkung auf Charset.defaultCharset() mehr,
was man anscheinend auch sonst nicht austauschen kann
nach
utf 8 - Setting the default Java character encoding? - Stack Overflow
hilft für Charset.defaultCharset() und dann wohl auch InputStreamReader ohne nähere Angabe
das Setzen des Encodings bei Programmstart mit -D-Parameter
für Jar vielleicht auch interessant in Manifest oder was es da alles verrücktes gibt,
hast du jedenfalls getestet und unterschiedliche Angaben für IDE-Start vs. Jar?
kommt mir durchaus bekannt vor dass IDE UTF-8 setzt, so auch in meinem Eclipse,
ohne diese Einstellung in General - Workspace gibt das Testprogamm verstärkt Cp1252 aus auf Windows
sollte aber wiederum doch eher keinen Einfluss haben wenn Encoding bei InputStreamReader manuell gesetzt?..