ช่วยหน่อยครับ PHP ดึงข้อมูลจาก SQL SERVER ออกมาเป็นภาษาต่างด้าว

เริ่มโดย id09318, 06 พฤษภาคม 2015, 12:41:44

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

id09318

ใน DB เป็นไทย แต่ดึงออกมาแสดงข้างนอกแล้วเป็นภาษาต่างด้าว

<?php print $MartList->fields ["itemname"]; ?>

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

icez

- charset บนหน้าเว็บเป็นอะไร
- charset/collation ในฐานข้อมูลเป็นอะไร
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

id09318

อ้างถึงจาก: icez ใน 06 พฤษภาคม 2015, 12:44:16
- charset บนหน้าเว็บเป็นอะไร
- charset/collation ในฐานข้อมูลเป็นอะไร

บนหน้าเว็บ <meta http-equiv=Content-Type content="text/html; charset=utf-8">
ใน collation ในฐานข้อมูล THAI_CI_AS

พอจะมีวิธีแก้อื่นๆไหมครับ

:( :(
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

icez

เคสนี้ทำได้สองทางครับ

- แก้หน้าเว็บเป็น tis
- สั่ง iconv แปลงเป็น utf-8 ก่อน echo ออกมา


สาเหตุเพราะ mssql ไม่รองรับ utf-8 ครับ
อ้างถึง"MS SQL Server has poor support for UTF-8 compared to other RDBMS"
http://programmers.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft-sql-server
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

nicky_credit

ลองใช้วิธีนี้ดูค่ะ

mysql_query("set NAMES utf8");

ก่อนการเรียกใช้ด้าต้อเบส เช่น


$host="localhost";
$username = "root";
$password = "xxxx";
$db="xxxxxxx";

$connect=mysql_connect($host,$username,$password) or die ("Cannot Connect to MySQL");
mysql_select_db($db) or die ("Cannot connect to Database");
mysql_query("set NAMES UTF8");

หวังว่าคงมีประโยชน์บ้าง

รับจ้างทำงานต่างๆเช่น
-เขียนเว็บไซต์ ออกแบบเว็บไซต์ด้วยภาษา PHP, CMS  joomla, wordpass
-รับดูแลเว็บไซต์อัพเดทข้อมูล เขียนโปรแกรมตามสั่ง รับโพสเว็บ รับจ้างPostดันประกาศ
-สมัครเว็บบอร์ด โพสเว็บบอร์ด รูปภาพ คลิปวีดีโอ ขายสินค้า
-คีย์ข้อมูลหรืออัพเดทข้อมูล ลงเว็บไซต์ wp  blogger ฯลฯ ทั้งตัวหนังสือ รูปภาพ หรือวีดีโอ
-แอดมินดูแลแฟนเพจ,เว็บไซต์  ขายของออนไลน์  งานรับจ้างทั่วไปคะ
ราคาไม่แพงพร้อมทำงานได้เลยทุกวันค่ะ  ส่งงานตรงเวลา มีความรับผิดชอบคะ
ท่านใดสนใจว่าจ้าง pm หรืออีเมลมาได้ที่นี่นะคะ
โทร.095-3426266  email : [email protected] , Line: aecfrozen

icez

[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

narincr

อ้างถึงจาก: nicky_credit ใน 06 พฤษภาคม 2015, 18:20:47
ลองใช้วิธีนี้ดูค่ะ

mysql_query("set NAMES utf8");

ก่อนการเรียกใช้ด้าต้อเบส เช่น


$host="localhost";
$username = "root";
$password = "xxxx";
$db="xxxxxxx";

$connect=mysql_connect($host,$username,$password) or die ("Cannot Connect to MySQL");
mysql_select_db($db) or die ("Cannot connect to Database");
mysql_query("set NAMES UTF8");

หวังว่าคงมีประโยชน์บ้าง




ไม่ได้ครับ ในหัวข้อก็บอกว่าใช้ MSSQL SERVER ไม่ใช่ Mysql ครับ

มี 2 วิธีคือ iconv กับ function ในการแปลง tis_utf ครับ
รับทำเว็บไซท์ แก้ไข Script CMS  โปรเจ็คนักศึกษา Script PHP ทุกชนิด รับงานเร่ง งานด่วน รับภายใน 3-5 วัน โทรหรือ Line มาคุยกันได้ครับ
DO-PHP.COM , DO-PHP.COM , DO-PHP.COM
Mobile : 092-1064587 , Line : narin.php Email : narin.cr@gmail.com

afterdead

http://stackoverflow.com/questions/5246292/open-local-folder-from-link

คิดว่าใน browser ใหม่ๆ น่าจะโดนยกเลิกนะครับ เพราะมันน่าจะดูอันตรายไป
หรือลอง \\ip\path\file แบบนี้ได้ไหม

หรือลองดูพวก vbscript js script ดูครับ

http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application
ขายเว็บอ่านการ์ตูน Manga Traffic 4000+/days PageView 36,000/ days PM
VPS CHEAP
[direct=https://www.digitalocean.com/?refcode=66904e5523f1]สุดยอด ! CLOUD VPS SSD 20 GB RAM 512 จ่ายผ่าน Paypal หรือ บัตรเครดิต ! แค่ $5.0 คุ้มกว่านี้มีที่ไหน มีสิงค์โปร์ ใช้กับเว็บไทยสุดยอดขอบอกๆ[/direct]
Unlimited & Unlimited Hosting.
HOST GATOR COUPONS ลด 25% ใส่คูปอง "tsbgator25off" [direct=https://signup.hostgator.com/hg4/shared-29-36-tsbgator25off?]>>>Hatchling Plan<<<[/direct] |

icez

อ้างถึงจาก: afterdead ใน 06 พฤษภาคม 2015, 23:41:42
http://stackoverflow.com/questions/5246292/open-local-folder-from-link

คิดว่าใน browser ใหม่ๆ น่าจะโดนยกเลิกนะครับ เพราะมันน่าจะดูอันตรายไป
หรือลอง \\ip\path\file แบบนี้ได้ไหม

หรือลองดูพวก vbscript js script ดูครับ

http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application

ผิดกระทู้ป่ะครับ?


อ้างถึงจาก: icez ใน 06 พฤษภาคม 2015, 20:26:47
อ้างถึงจาก: id09318 ใน 06 พฤษภาคม 2015, 17:53:00
ทำม่ายด้ายยย  :P :P
ใช้ iconv ครอบก่อน echo น่าจะได้นะครับ
ลองดูประมาณนี้
<?php print iconv('TIS-620''UTF-8'$MartList->fields ["itemname"];) ?>
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

massacre


ieiq

อ้างถึงจาก: nicky_credit ใน 06 พฤษภาคม 2015, 18:20:47
ลองใช้วิธีนี้ดูค่ะ

mysql_query("set NAMES utf8");

ก่อนการเรียกใช้ด้าต้อเบส เช่น


$host="localhost";
$username = "root";
$password = "xxxx";
$db="xxxxxxx";

$connect=mysql_connect($host,$username,$password) or die ("Cannot Connect to MySQL");
mysql_select_db($db) or die ("Cannot connect to Database");
mysql_query("set NAMES UTF8");

หวังว่าคงมีประโยชน์บ้าง



mysql_query("set NAMES UTF8"); ดูตรงนี้นะครับท่าน
ทำดีได้ดี เพราะทำด้วยใจ

id09318

อ้างถึง<?php print iconv('TIS-620''UTF-8'$MartList->fields ["itemname"];) ?>

ลองแล้วครับ ไม่ได้ //หน้า item หายไปเลย
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

id09318

อ้างถึงจาก: ieiq ใน 07 พฤษภาคม 2015, 07:43:45
อ้างถึงจาก: nicky_credit ใน 06 พฤษภาคม 2015, 18:20:47
ลองใช้วิธีนี้ดูค่ะ

mysql_query("set NAMES utf8");

ก่อนการเรียกใช้ด้าต้อเบส เช่น


$host="localhost";
$username = "root";
$password = "xxxx";
$db="xxxxxxx";

$connect=mysql_connect($host,$username,$password) or die ("Cannot Connect to MySQL");
mysql_select_db($db) or die ("Cannot connect to Database");
mysql_query("set NAMES UTF8");

หวังว่าคงมีประโยชน์บ้าง



mysql_query("set NAMES UTF8"); ดูตรงนี้นะครับท่าน

พอดี config เป็นแบบนี้อ่ะครับ
<?php 
if (strpos('/web.config.php'$_SERVER['SCRIPT_NAME']) !== false) { die('Access Denied'); }



ob_start(); 
session_start(); 
header("Cache-control: private"); 

$_config['server_name' 'xxx';     //Server Name 
$_config['copyright' "xxx";        //copyright name 
$_config['Server' "xxx\SQLEXPRESS" // Ip SQL or Domain Name, For SQL Server 2005 use this COMPUTERNAME\SQLEXPRESS
$_config['User' "sa" // User SQL 
$_config['Pass' "xxx" // Pass SQL 
$_config['DB' "Shop" // Database SHOP 
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

tatwizard


tamuraki

mysql_query("SET NAMES UTF8");
ลองใส่แบบนี้ครับ ก๊อป ไปเลยก็ได้ครับ

id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

id09318

อ้างถึงจาก: tamuraki ใน 07 พฤษภาคม 2015, 08:30:54
mysql_query("SET NAMES UTF8");
ลองใส่แบบนี้ครับ ก๊อป ไปเลยก็ได้ครับ

ใส่แล้วครับ ใน config line 3 ( เป็นไทย ) อันอื่นที่เป็นภาษาไทยกลับเป็นมั่วๆ


แล้วก็มีเอ่อเร่อครับ :
อ้างถึงWarning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Users\Admin\Desktop\web\web.config.php on line 3

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Users\Admin\Desktop\web\web.config.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Users\Admin\Desktop\web\web.config.php:3) in C:\Users\Admin\Desktop\web\web.config.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at C:\Users\Admin\Desktop\web\web.config.php:3) in C:\Users\Admin\Desktop\web\web.config.php on line 6
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

sputtaro

ผมไม่แน่ใจว่าจะช่วยอะไรคุณได้  แต่ลองอ่านดูนะครับ เผื่อมีทางออก
******************************************************

For people with issues inserting UTF-8 / Unicode data using DBLIB, you can't do this natively - but you can workaround the problem by converting the data first.

e.g. inserting into a nvarchar column with collation Latin1_General_CI_AS

...
$res = $db->prepare($sql);
$res->bindValue(':value', iconv('UTF-8', 'ISO8859-1', $value);
...

****************************************************************
ผมเอามาจากที่นี่ครับ http://php.net/manual/en/ref.pdo-dblib.php

ตามที่แจ้งไว้แล้ว  ....อาจไม่ได้ช่วยอะไรเลย