我在編碼某個文件時遇到了麻煩。在我的php程序中,我得到一個txt文件。使用foreach並從這個文件中獲取每一行並做一個表格,然後我嘗試將這些數據放到我的數據庫中,插入後我沒有在數據庫中存在波蘭語的字母。我的數據庫,表和所有字段都有一個utf8_unicode_ci,並且當我使用phpmyadmin插入時,所有字母都是正常的。我嘗試使用detect_encoding($ row),並檢測ASCII解碼。我如何將波蘭語信件插入我的數據庫?請幫忙。以UTF-8格式保存字符串時遇到問題
我的數據庫連接:
try{
$dbh = new PDO('mysql:dbname=google;host=localhost;','root','');
$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$dbh -> query ('SET NAMES utf8');
$dbh -> query ('SET CHARACTER_SET utf8_unicode_ci');}
我嘗試
$url = mb_convert_encoding($url,'UTF-8',mb_detect_encoding($url));
和
$url = Encoding::toUTF8($url);
和OFC的iconv 任何其他的想法?
在我插入一切正常,它的一個例子:
PDOStatement Object ([queryString] => insert into `site` values ("","meblegdańsk.pl","1"))
是您的文本文件保存在UTF8? – mavrosxristoforos
該文件保存在什麼編碼中? – deceze
還要注意,編碼檢測是非常不準確的,無論'mb_detect_encoding'告訴你沒有多大意義。 [每個程序員絕對,積極需要知道關於編碼和字符集與文本工作](http://kunststube.net/encoding/) – deceze