gpt4 book ai didi

php - mysql 导入中带有德语字母(ä、ü、ö)的奇怪图标

转载 作者:行者123 更新时间:2023-11-29 08:04:31 26 4
gpt4 key购买 nike

我在 SQL 数据库中遇到了德语“Umlaute”“ä, ü, ö, ß”的问题。

有一个 php 文件,我在其中打开一个 sql 文件并恢复整个数据库。但每次恢复后,所有德语特殊字母都是错误的(例如“Ù”)。当我查看 sql 文件时,它们是按应有的方式编写的。

这是我的 php 文件:

// Name of the file
$filename = 'backup.sql';
// MySQL host
$mysql_host = '...';
// MySQL username
$mysql_username = '...';
// MySQL password
$mysql_password = '...';
// Database name
$mysql_database = '...';

//////////////////////////////////////////////////////////////////////////////////////////////

// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());

// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// Loop through each line
foreach ($lines as $line)
{
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
continue;

// Add this line to the current segment
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($line), -1, 1) == ';')
{
// Perform the query
mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
// Reset temp variable to empty
$templine = '';
}
}

我的 SQL 文件 (backup.sql) 如下所示:

-- phpMyAdmin SQL Dump
-- version 3.5.8
-- http://www.phpmyadmin.net
--
-- Host: ...
-- Erstellungszeit: 10. Mai 2013 um 13:57
-- Server Version: 5.5.28
-- PHP-Version: 5.2.17

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Datenbank: `...`
--

--
-- !!!!!!!!!!!!!!!!! Delete all !!!!!!!!!!!!!!!!!!!!!
--

TRUNCATE TABLE `benutzer`;
TRUNCATE TABLE `nachrichten`;
TRUNCATE TABLE `programme`;
TRUNCATE TABLE `tagebuch`;
TRUNCATE TABLE `therapeuten`;
TRUNCATE TABLE `trainingseinheiten`;

REPLACE INTO `benutzer` (`ID`, `EMail`, `Kennwort`, `passwort`, `salt`, `MandantenArt`, `Vorname`, `Nachname`, `Firma`, `Strasse`, `PLZ`, `Ort`, `Land`, `UID`, `Telefon`, `Fax`, `Webadresse`, `Notizen`, `PT_ID`, `Erinnerung`, `Onlinebetreut`, `Therapeut`, `Diagnose`, `Erstellungsdatum`, `Letzter_Login`, `Deleted`, `Status`) VALUES
...
(74, 'demopat@physio-visor.at', 'yes', '...', '...', 'pa', 'Max', 'Mustermann', '', 'Landstraße 11', '6020', 'Innsbruck', 'Österreich', '', '0123 456 789', '', '', '', '69', 'nein', 'ja', 'keiner zugeteilt', '', '2013-06-11 19:56:21', '2013-06-11 20:01:14', 0, 0);

这只是sql文件的快捷方式。但您可以看到例如“ß”和“Ö”。

在我的 MSQL 数据库中,表都是 utf8_general_ci。

你能告诉我,你的这个德语特殊字母在网站上不正确吗?

最佳答案

似乎您没有将 mysql 连接设置为 utf-8:

$link = mysql_connect($mysql_host, $mysql_username, $mysql_password) 
or die('Error connecting to MySQL server: ' . mysql_error());
mysql_query("SET character_set_results=utf8", $link);
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());
mysql_query("set names 'utf8'",$link);

关于php - mysql 导入中带有德语字母(ä、ü、ö)的奇怪图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22997117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com