JoomlaCamp 2018 Essen - 03.02.2017 in Essen

Sonderzeichen und Umlaute werden nicht oder falsch dargestellt

    Sonderzeichen und Umlaute werden nicht oder falsch dargestellt

    Hallo zusammen,

    ich lese von einer Seite Daten aus und diese werden in der Datenbank korrekt abgespeichert.
    Nun werden sie ausgelesen. Beim Direktaufruf der Datei sehe ich bspw. Sp�ck. Wenn ich die Datei dann in Joomla mit der Erweiterung Sourcer aufrufe, dann wird bspw. nur Spck aufgezeigt.

    Ich habe nun auch schon beim Verbinden zur Datenbank in der Datei die charset und utf8_general_ci - aber dies bringt kein Erfolg.

    Hier mal die Datenbankverbindung (Datei db_config.ini):

    Quellcode

    1. ​[database]
    2. driver = mysql
    3. host = localhost
    4. ;port = 3306
    5. schema = zensiert
    6. username = zensiert
    7. password = 'zensiert'
    8. charset = utf8
    9. collation = utf8_general_ci


    Hier mal die Datei:

    PHP-Quellcode

    1. <?php
    2. //Einbinden von CSS Datei
    3. include "css.php.inc";
    4. /**
    5. * pdo extension
    6. */
    7. class MyPDO extends PDO
    8. {
    9. function __construct($file = 'db-config.ini')
    10. {
    11. if (!$settings = parse_ini_file($file, TRUE))
    12. throw new Exception("Unable to process file: " . $file);
    13. $dns = $settings['database']['driver'] .
    14. ':host=' . $settings['database']['host'] .
    15. ((!empty($settings['database']['port']))
    16. ? (';port=' . $settings['database']['port'])
    17. : '') .
    18. ';dbname=' . $settings['database']['schema'];
    19. $opt = [
    20. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    21. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    22. PDO::ATTR_EMULATE_PREPARES => false,
    23. ];
    24. parent::__construct(
    25. $dns,
    26. $settings['database']['username'],
    27. $settings['database']['password'],
    28. $opt
    29. );
    30. }
    31. }
    32. $pdo = new MyPDO();
    33. $sql = "
    34. SELECT
    35. id, wochentag, spielzeit, spielklasse, heimmannschaft,
    36. gastmannschaft, heimergebnis, gastergebnis
    37. FROM
    38. spielergebnisse
    39. WHERE
    40. heimmannschaft
    41. NOT LIKE '%spielfrei%'
    42. AND gastmannschaft NOT LIKE '%spielfrei%'
    43. ORDER BY
    44. spielzeit
    45. ";
    46. try {
    47. printResult($pdo->query($sql)->fetchAll());
    48. } catch (Exception $e) {
    49. die('Something went wrong...<br />' . $e->getMessage());
    50. }
    51. function printResult($res) {
    52. echo "
    53. <table class='table_gesamtspielplan'>
    54. <tr>
    55. <td><b>Tag</b></td>
    56. <td><b>Datum und Uhrzeit</b></td>
    57. <td><b>Spielklasse</b></td>
    58. <td><b>Heimmannschaft</b></td>
    59. <td><b>Gastmannschaft</b></td>
    60. <td align=center><b>H</b></td>
    61. <td align=center><b>:</b></td>
    62. <td align=center><b>G</b></td>
    63. </tr>
    64. ";
    65. foreach ($res as $val) {
    66. $date = DateTime::createFromFormat('Y-m-d H:i:s', $val["spielzeit"]);
    67. $newDate = $date->format('d.m.Y H:i');
    68. echo "
    69. <tr>
    70. <td> {$val["wochentag"]} </td>
    71. <td> {$newDate} </td>
    72. <td> {$val["spielklasse"]} </td>
    73. <td> {$val["heimmannschaft"]} </td>
    74. <td> {$val["gastmannschaft"]} </td>
    75. <td align=center> {$val["heimergebnis"]} </td>
    76. <td align=center> <b>:</b></td>
    77. <td align=center> {$val["gastergebnis"]} </td>
    78. </tr>
    79. ";
    80. }
    81. echo "</table>";
    82. }
    83. ?>

forum.joomla.de is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.