我有幾個輸入MySQL數據庫的文本文件。這些文本文件包含像é和ë這樣的字符。我一直在努力將數據正確地存入數據庫,現在看來我終於明白了。但是,我想知道是否有更好的方式來做到這一點,而不是我在這裏描述的方式。使用MySQL/PHP進行urlencoding的問題
- 該文本文件都是UTF-8編碼的。
- PHP腳本也都是UTF-8編碼。我讀過這個非常重要。
- 所有HTML輸出使用這樣的插頭來實現:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- MySQL數據庫使用latin1_swedish_ci的校對中創建(字符集留空)
- 所有包含字符(VARCHAR)的列被定義使用拉丁語的排序規則1:瑞典_ci
我假設存儲url編碼字符串的正確方法是當我在數據庫中看到存儲爲%C3%A9的字符時。我發現了urlencoding的一個MySQL函數here。 但是,當我打開phpMyAdmin,我看到字符é被呈現爲%C3%A3%C2%A9。
我可以添加另一個語句來替換數據庫中的字符,但有些東西告訴我有一個更有效的方法來實現這一點。
任何幫助,非常感謝。提前致謝。
您應該使用'urlencode'和'urldecode'來生成鏈接,而不是數據存儲。更新你的數據庫以使用UTF8。 – chris85
[UTF-8一路通過]可能的重複(http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – chris85
您可以將源代碼添加到您閱讀源文本文件,轉換(urlencode)和插入的SQL?我會說在mysql中使用'ascii_bin'作爲字符集整理,但我可能是錯誤的 –