UTF-8 (de) geht :D

Dieser Commit ist enthalten in:
2025-06-07 13:07:48 +02:00
Ursprung 101efb2002
Commit 3f3080f06a
8 geänderte Dateien mit 146 neuen und 8 gelöschten Zeilen

Datei anzeigen

@@ -1,5 +1,10 @@
FROM python:3.11-slim
# Locale für deutsche Sprache und UTF-8 setzen
ENV LANG=de_DE.UTF-8
ENV LC_ALL=de_DE.UTF-8
ENV PYTHONIOENCODING=utf-8
WORKDIR /app
COPY requirements.txt .

Datei anzeigen

@@ -10,6 +10,8 @@ load_dotenv()
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
app.config['SESSION_TYPE'] = 'filesystem'
app.config['JSON_AS_ASCII'] = False # JSON-Ausgabe mit UTF-8
app.config['JSONIFY_MIMETYPE'] = 'application/json; charset=utf-8'
Session(app)
# Login decorator
@@ -21,15 +23,18 @@ def login_required(f):
return f(*args, **kwargs)
return decorated_function
# DB-Verbindung
# DB-Verbindung mit UTF-8 Encoding
def get_connection():
return psycopg2.connect(
conn = psycopg2.connect(
host=os.getenv("POSTGRES_HOST", "postgres"),
port=os.getenv("POSTGRES_PORT", "5432"),
dbname=os.getenv("POSTGRES_DB"),
user=os.getenv("POSTGRES_USER"),
password=os.getenv("POSTGRES_PASSWORD")
password=os.getenv("POSTGRES_PASSWORD"),
options='-c client_encoding=UTF8'
)
conn.set_client_encoding('UTF8')
return conn
@app.route("/login", methods=["GET", "POST"])
def login():

Datei anzeigen

@@ -1,3 +1,6 @@
-- UTF-8 Encoding für deutsche Sonderzeichen sicherstellen
SET client_encoding = 'UTF8';
CREATE TABLE IF NOT EXISTS customers (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,

Datei anzeigen

@@ -19,15 +19,15 @@
<div class="container py-5">
<h2 class="mb-4">Neue Lizenz erstellen</h2>
<form method="post" action="/">
<form method="post" action="/" accept-charset="UTF-8">
<div class="row g-3">
<div class="col-md-6">
<label for="customerName" class="form-label">Kundenname</label>
<input type="text" class="form-control" id="customerName" name="customer_name" required>
<input type="text" class="form-control" id="customerName" name="customer_name" accept-charset="UTF-8" required>
</div>
<div class="col-md-6">
<label for="email" class="form-label">E-Mail</label>
<input type="email" class="form-control" id="email" name="email">
<input type="email" class="form-control" id="email" name="email" accept-charset="UTF-8">
</div>
<div class="col-md-4">
<label for="licenseKey" class="form-label">Lizenzschlüssel</label>